Edit report at http://bugs.php.net/bug.php?id=53993&edit=1
ID: 53993 Updated by: u...@php.net Reported by: doqnach at miraizou dot net Summary: "Command out of sync" after CALL Status: Open Type: Bug Package: MySQLi related Operating System: WinXP SP3 & Win Server 2003 R2 PHP Version: 5.3.5 Block user comment: N Private report: N New Comment: This is somewhat beyond the scope of the PHP drivers. The PHP drivers follow MySQL Client Server protocol. Given you don't like the protocol and its handling of certain queries - with the need to fetch result sets in some cases - you should direct your request to the database vendor but not to php.net and the PHP drivers. This is not a PHP driver specific issue. Previous Comments: ------------------------------------------------------------------------ [2011-02-11 09:51:02] doqnach at miraizou dot net Description: ------------ I'm having problems doing a SELECT query after having done a CALL to a stored procedure. see bug #48065 and bug #35203 The statement by schwern at pobox dot com at bug #48065 clearly states my view on this as well. This 'issue' is not bogus and it's strange that you have to handle a CALL completely different from a normal SELECT even though the rest of the logic is exactly the same. I have made a post at the mysql support forum when trying to figure out what was going wrong which contains a working test script. multi query should not have to be the only solution for this. Test script: --------------- http://forums.mysql.com/read.php?52,407069,407203#msg-407203 Expected result: ---------------- array(1) { [0]=> array(1) { ["VERSION()"]=> string(16) "5.1.51-community" } } array(1) { [0]=> array(1) { ["VERSION()"]=> string(16) "5.1.51-community" } } Actual result: -------------- array(1) { [0]=> array(1) { ["VERSION()"]=> string(16) "5.1.51-community" } } object(mysqli)#1 (17) { ["affected_rows"]=> int(1) ["client_info"]=> string(48) "mysqlnd 5.0.7-dev - 091210 - $Revision: 300533 $" ["client_version"]=> int(50007) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(2014) ["error"]=> string(52) "Commands out of sync; you can't run this command now" ["field_count"]=> int(1) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(16) "5.1.51-community" ["server_version"]=> int(50151) ["sqlstate"]=> string(5) "HY000" ["protocol_version"]=> int(10) ["thread_id"]=> int(12) ["warning_count"]=> int(0) } Fatal error: Call to a member function fetch_assoc() on a non-object in <path>\test_call.php on line 21 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53993&edit=1