ID: 35333 Updated by: [EMAIL PROTECTED] Reported By: camka at email dot ee -Status: Open +Status: Bogus Bug Type: MySQLi related Operating System: WinXP, Linux PHP Version: 5CVS-2005-11-22 (snap) New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php After executing mysqli_multi_query you have first process the resultsets before sending any another statement to the server, otherwise your socket is still blocked. Please note that even if your multi statement doesn't contain SELECT queries, the server will send result packages containing errorcodes (or OK packet) for single statements. Previous Comments: ------------------------------------------------------------------------ [2005-11-22 18:02:15] camka at email dot ee the same behaviour with the latest snapshot. no changes. ------------------------------------------------------------------------ [2005-11-22 17:49:00] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-11-22 16:07:36] camka at email dot ee may be related to bug #31668 ------------------------------------------------------------------------ [2005-11-22 16:06:59] camka at email dot ee Description: ------------ After running several "non-select" queries with mysqli::multi_query() it's impossible to run mysqli::query() method with some "select" query, the mysqli::error says "MySQL server has gone away". If iterate through all the results of mysqli::multi_query() using mysqli::next_result(), then the program won't issue the "gone away" problem and the following mysqli::query() runs as expected. tried with the latest cvs snapshot. PHP Version 5.0.6-dev Nov 22 2005 10:22:22 On one machine it needs to hit browser's "refresh" button to get an error, on other machine the error comes every single program run. Reproduce code: --------------- <?php $s = new mysqli('localhost', '******', '*******', '*****'); $s -> multi_query('drop temporary table if exists z1; create temporary table z1(u int);'); // if uncomment the following line, the script works as expected // while ($s->next_result()); echo "- ",$s -> error,"<br>"; $s -> query("SELECT count(*) from z1"); echo "- ",$s -> error,"<br>"; $s->close(); ?>qu Expected result: ---------------- - - (two empty errors) Actual result: -------------- - - MySQL server has gone away ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35333&edit=1