这个简单的代码调用两个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
?>
答案 0 :(得分:5)
PHP的旧MySQL扩展无法与存储过程一起正常工作。不幸的是,接缝无法用它执行多个存储过程。问题是第一个过程留下了一些缓冲的结果集,导致第二个失败。但是你可以使用mysqli扩展。以下是如何执行此操作的一个很好的示例: