From: Operating system: linux PHP version: 5.3.3 Package: MySQLi related Bug Type: Bug Bug description:using mysqli_stmt::send_long_data() makes execute() fail
Description: ------------ This bug was found from a framework test units after a system upgrade (ubuntu/10.04 -> ubuntu/10.10). The bug was tracked that the send_long_data() stopped working completely. If I try to use it for large packets, the following execute() command will fail with error "Error executing prepared statement. Incorrect arguments to mysqld_stmt_execute". I made a script that reproduces 100% the bug and I ran it at ubuntu/10.04(php5.3.2, mysql5.1.41) PASS, ubuntu/10.10(php5.3.3, mysql5.1.49) FAIL, debian/squeeze(php5.3.3, mysql5.1.49) FAIL. So I assume its a regression at php's 5.3.3. Test script: --------------- //Full test @ http://codepad.org/eKnJnWnC // Code chunk that trigger the problem. if (!$stmt->bind_param('b', $null)) die("Error binding parameters. {$stmt->error}\n"); foreach(str_split($big_data, $max_allowed_packet) as $packet ) if (!$stmt->send_long_data(0, $packet)) die("Error sending long packet. {$stmt->error}\n"); if (!$stmt->execute()) die("Error executing prepared statement. {$stmt->error}\n"); Expected result: ---------------- OK: Executed prepared statement with blob less than max_allowed_packet. OK: Executed prepared statement with blob bigger than max_allowed_packet, sent at chunks. Actual result: -------------- OK: Executed prepared statement with blob less than max_allowed_packet. Error executing prepared statement. Incorrect arguments to mysqld_stmt_execute -- Edit bug report at http://bugs.php.net/bug.php?id=53483&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=53483&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=53483&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=53483&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=53483&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=53483&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=53483&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=53483&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=53483&r=needscript Try newer version: http://bugs.php.net/fix.php?id=53483&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=53483&r=support Expected behavior: http://bugs.php.net/fix.php?id=53483&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=53483&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=53483&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=53483&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53483&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=53483&r=dst IIS Stability: http://bugs.php.net/fix.php?id=53483&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=53483&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=53483&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=53483&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=53483&r=mysqlcfg