bug54221.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. --TEST--
  2. Bug #54221 mysqli::get_warnings segfault when used in multi queries
  3. --SKIPIF--
  4. <?php
  5. require_once('skipif.inc');
  6. require_once('skipifconnectfailure.inc');
  7. ?>
  8. --INI--
  9. mysqli.max_links = 1
  10. mysqli.allow_persistent = Off
  11. mysqli.max_persistent = 0
  12. mysqli.reconnect = Off
  13. --FILE--
  14. <?php
  15. include ("connect.inc");
  16. $link = mysqli_init();
  17. if (!my_mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket)) {
  18. printf("[002] Connect failed, [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
  19. }
  20. $create = "CREATE TEMPORARY TABLE IF NOT EXISTS t54221(a int)";
  21. $query = "$create;$create;$create;";
  22. if ($link->multi_query($query)) {
  23. do {
  24. $sth = $link->store_result();
  25. if ($link->warning_count) {
  26. $warnings = $link->get_warnings();
  27. if ($warnings) {
  28. do {
  29. echo "Warning: ".$warnings->errno.": ".$warnings->message."\n";
  30. } while ($warnings->next());
  31. }
  32. }
  33. } while ($link->more_results() && $link->next_result());
  34. }
  35. mysqli_close($link);
  36. print "done!";
  37. ?>
  38. --EXPECTF--
  39. Warning: :
  40. Warning: 1050: Table 't54221' already exists
  41. done!