]> granicus.if.org Git - php/commitdiff
clear error before doing anything, because we can get
authorAndrey Hristov <andrey@php.net>
Fri, 28 Jan 2011 17:33:14 +0000 (17:33 +0000)
committerAndrey Hristov <andrey@php.net>
Fri, 28 Jan 2011 17:33:14 +0000 (17:33 +0000)
trapped by previous error :
php -r '$link = mysqli_init();
var_dump($link->real_connect("127.0.0.1", "unknown", "unknown"));
var_dump($link->real_connect("127.0.0.1", "known", "password"));'

shows the problem. The second connect did not work, as it should be.

ext/mysqlnd/mysqlnd.c

index 44f99705003327b03142d89ea3f314c3eadbbfab..b970277f2fcc167695060b0e169741a84d5429d9 100644 (file)
@@ -641,6 +641,9 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND * conn,
 
        DBG_ENTER("mysqlnd_conn::connect");
 
+       SET_EMPTY_ERROR(conn->error_info);
+       SET_ERROR_AFF_ROWS(conn);
+
        DBG_INF_FMT("host=%s user=%s db=%s port=%u flags=%u persistent=%u state=%u",
                                host?host:"", user?user:"", db?db:"", port, mysql_flags,
                                conn? conn->persistent:0, conn? CONN_GET_STATE(conn):-1);