From: ihanick at gmail dot com Operating system: CentOS release 6.4 PHP version: master-Git-2013-05-02 (snap) Package: MySQL related Bug Type: Bug Bug description:unbuffered queries connection problems are not handled by mysqlnd
Description: ------------ Partially finished unbuffered query for mysql doesn't return any errors. The problem persists for all current versions of mysqlnd but everything find with old libmysqlclient code for all mysql extensions: mysql, mysqli, pdo-mysql. If I have 100k rows in query and connection dropped at 50k point, there is no simple way to see this error in application and handle the problem. Test script: --------------- 1) create a big table to have several seconds for select * from table execution time 2) run php script 3) kill connection from php to mysql or kill mysqld <?php error_reporting(E_ALL); $link = mysql_connect('localhost', 'root', ''); mysql_select_db('test') or die('Could not select database'); // Performing SQL query $query = 'SELECT * FROM x;'; $result = mysql_unbuffered_query($query) or die('Query failed: ' . mysql_error()); while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { } echo mysql_error($link) . PHP_EOL; Expected result: ---------------- Warning about connection problems and mysql_error should return Query failed: MySQL server has gone away Everything works correctly for old (non-mysqlnd) extension. Actual result: -------------- getting warning: Warning: Empty row packet body in /root/php5-trunk/test.php on line 10 But empty result for mysql_error($link) -- Edit bug report at https://bugs.php.net/bug.php?id=64763&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=64763&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=64763&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=64763&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=64763&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=64763&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=64763&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=64763&r=needscript Try newer version: https://bugs.php.net/fix.php?id=64763&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=64763&r=support Expected behavior: https://bugs.php.net/fix.php?id=64763&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=64763&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=64763&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=64763&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=64763&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=64763&r=dst IIS Stability: https://bugs.php.net/fix.php?id=64763&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=64763&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=64763&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=64763&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=64763&r=mysqlcfg