|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2017-04-02 14:46 UTC] tpunt@php.net
-Package: mysql
+Package: PDO MySQL
[2020-11-26 14:20 UTC] nikic@php.net
[2021-07-13 13:16 UTC] cmb@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: cmb
[2021-07-13 13:16 UTC] cmb@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 20:00:01 2025 UTC |
Description: ------------ As reported by phpinfo pdo_mysql: mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 $ Test script: --------------- # The php code below makes use of this stored proc DELIMITER ## CREATE PROCEDURE out_bug(OUT param INT UNSIGNED) BEGIN SET param := 3; END## DELIMITER ; # php - prepard statement of above stored proc $out = 0; $s = $db->prepare('CALL out_bug(:out)'); $s->bindParam('out', $out, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 4); $s->execute(); echo 'out is: ' . $out; Expected result: ---------------- I would have expected the php code to execute without errors and $out to contain the value '3' as set in the stored procedure. Actual result: -------------- Warning: PDOStatement::execute(): Premature end of data (mysqlnd_wireprotocol.c:1113) Warning: PDOStatement::execute(): RSET_HEADER packet 1 bytes shorter than expected Warning: PDOStatement::execute(): Error reading result set's header Warning: PDOStatement::execute(): Premature end of data (mysqlnd_wireprotocol.c:1076) Warning: PDOStatement::execute(): RSET_HEADER packet 4 bytes shorter than expected Warning: PDOStatement::execute(): Error reading result set's header out is: 0