This simple code calls two MySQL procedures, but after the first which returns values, it returns an error on the second query.
NOTE: Running the first or the second on their own will return correctly for each one. So the queries work, just not together.
The full error is:
Invalid query: Commands out of sync; you can't run this command now
Any ideas please.
<?php
require_once ('connection.php');
//First Query and Output
$result = mysql_query("CALL C01_Client_Summary_ByAccount(1, '2012-02-27', '2013-03-29');");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
while($row=mysql_fetch_array($result))
{
echo $row['CommisionPercentage'];
}
mysql_free_result($result);
//END First Query and Output
//Second Query and Output
$new2 = mysql_query("CALL C01_Client_Summary_ByBetType(1, '2012-02-27', '2013-03-29');");
if (!$new2) {
die('Invalid query: ' . mysql_error());
}
while($row=mysql_fetch_array($new2))
{
echo $row['Turnover'];
}
//END Second Query and Output
?>
If you get Commands out of sync; you can't run this command now in your client code, you are calling client functions in the wrong order. This can happen, for example, if you are using mysql_use_result() and try to execute a new query before you have called mysql_free_result() .
mysqli_store_result(mysqli $mysql , int $mode = 0): mysqli_result|false. Transfers the result set from the last query on the database connection represented by the mysql parameter to be used with the mysqli_data_seek() function.
The old MySQL extension for PHP is not working properly with stored procedures. Unfortunately there seams to be no way to execute multiple stored procedures with it. The problem is that the first procedure leaves some buffered result set which cause the second one to fail. You can however use mysqli extension. Here is a nice example on how to do this:
http://www.daniweb.com/web-development/php/threads/234868/error-commands-out-of-sync-you-cant-run-this-command-now
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With