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

Reply via email to