Bug #64763 [Opn->Dup]: unbuffered queries connection problems are not handled by mysqlnd
Edit report at https://bugs.php.net/bug.php?id=64763&edit=1
ID: 64763
Updated by: cmb@php.net
Reported by: ihanick at gmail dot com
Summary: unbuffered queries connection problems are not
handled by mysqlnd
-Status: Open
+Status: Duplicate
Type: Bug
Package: MySQL related
Operating System: CentOS release 6.4
PHP Version: master-Git-2013-05-02 (snap)
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
This appears to be a duplicate of bug #66370, and is supposed to
be fixed as of PHP 7.4.13.
Previous Comments:
------------------------------------------------------------------------
[2013-05-02 17:31:51] ihanick at gmail dot com
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 this bug report at https://bugs.php.net/bug.php?id=64763&edit=1
Thread (4 messages)