- DOM:
. Fixed bug #67474 (getElementsByTagNameNS filter on default ns). (aboks)
+- Mysqli:
+ . Fixed bug #73462 (Persistent connections don't set $connect_errno).
+ (darkain)
+
- Mysqlnd:
. Fixed issue with decoding BIT columns when having more than one rows in the
result set. 7.0+ problem. (Andrey)
mysqlnd_restart_psession(mysql->mysql);
#endif
MyG(num_active_persistent)++;
+
+ /* clear error */
+ php_mysqli_set_error(mysql_errno(mysql->mysql), (char *) mysql_error(mysql->mysql));
+
goto end;
} else {
mysqli_close(mysql->mysql, MYSQLI_CLOSE_IMPLICIT);
--- /dev/null
+--TEST--
+Bug #73462 (Persistent connections don't set $connect_errno)
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+?>
+--FILE--
+<?php
+ require_once("connect.inc");
+
+ /* Initial persistent connection */
+ $mysql_1 = new mysqli('p:'.$host, $user, $passwd, $db);
+ $result = $mysql_1->query("SHOW STATUS LIKE 'Connections'");
+ $c1 = $result->fetch_row();
+ $result->free();
+ $mysql_1->close();
+
+ /* Failed connection to invalid host */
+ $mysql_2 = @new mysqli(' !!! invalid !!! ', $user, $passwd, $db);
+ @$mysql_2->close();
+
+ /* Re-use persistent connection */
+ $mysql_3 = new mysqli('p:'.$host, $user, $passwd, $db);
+ $error = mysqli_connect_errno();
+ $result = $mysql_3->query("SHOW STATUS LIKE 'Connections'");
+ $c3 = $result->fetch_row();
+ $result->free();
+ $mysql_3->close();
+
+ if (end($c1) !== end($c3))
+ printf("[001] Expected '%d' got '%d'.\n", end($c1), end($c3));
+
+ if ($error !== 0)
+ printf("[002] Expected '0' got '%d'.\n", $error);
+
+ print "done!";
+?>
+--EXPECTF--
+done!