PHP命令不同步错误

时间:2013-03-12 22:42:36

标签: php mysql

这个简单的代码调用两个MySQL程序,但在第一个返回值后,它会在第二个查询中返回错误。

注意:自行运行第一个或第二个将正确返回每个。所以查询工作,而不是一起。

完整的错误是: Invalid query: Commands out of sync; you can't run this command now

请任何想法。

<?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

?>

1 个答案:

答案 0 :(得分:5)

PHP的旧MySQL扩展无法与存储过程一起正常工作。不幸的是,接缝无法用它执行多个存储过程。问题是第一个过程留下了一些缓冲的结果集,导致第二个失败。但是你可以使用mysqli扩展。以下是如何执行此操作的一个很好的示例:

http://www.daniweb.com/web-development/php/threads/234868/error-commands-out-of-sync-you-cant-run-this-command-now