bug73462.phpt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. --TEST--
  2. Bug #73462 (Persistent connections don't set $connect_errno)
  3. --EXTENSIONS--
  4. mysqli
  5. --SKIPIF--
  6. <?php
  7. require_once('skipifconnectfailure.inc');
  8. ?>
  9. --FILE--
  10. <?php
  11. require_once("connect.inc");
  12. /* Initial persistent connection */
  13. $mysql_1 = new mysqli('p:'.$host, $user, $passwd, $db);
  14. $result = $mysql_1->query("SHOW STATUS LIKE 'Connections'");
  15. $c1 = $result->fetch_row();
  16. $result->free();
  17. $mysql_1->close();
  18. /* Failed connection to invalid host */
  19. $mysql_2 = @new mysqli(' !!! invalid !!! ', $user, $passwd, $db);
  20. try {
  21. $mysql_2->close();
  22. } catch (Error $exception) {
  23. echo $exception->getMessage() . "\n";
  24. }
  25. /* Re-use persistent connection */
  26. $mysql_3 = new mysqli('p:'.$host, $user, $passwd, $db);
  27. $error = mysqli_connect_errno();
  28. $result = $mysql_3->query("SHOW STATUS LIKE 'Connections'");
  29. $c3 = $result->fetch_row();
  30. $result->free();
  31. $mysql_3->close();
  32. if (end($c1) !== end($c3))
  33. printf("[001] Expected '%d' got '%d'.\n", end($c1), end($c3));
  34. if ($error !== 0)
  35. printf("[002] Expected '0' got '%d'.\n", $error);
  36. print "done!";
  37. ?>
  38. --EXPECT--
  39. mysqli object is already closed
  40. done!