1

当我运行call procedure一次它工作正常但如果我把它放在 for 循环中我得到错误:

这是我的代码:

<?php 
    //mysql_query(mysql, "SET @increment = 10");
    for($i=0;$i<2;$i++) {
        $overall_dissat=mysql_query("call daily_sales('HO Bangalore','2013-07-01','2013-07-30')");
        if($overall_dissat===false) {
            echo mysql_errno().': '.mysql_error();
        }
        while($obj=mysql_fetch_array($overall_dissat)) {
           //print_r($obj);
           echo "<td>".$obj['sat']."</td>";
        }
    }
?>

这是错误:

2014:命令不同步;你现在不能运行这个命令

在此处输入图像描述

与 mySql 中的调用过程交谈工作正常。但从 php ....?怎么实现啊。。

4

1 回答 1

1

您的存储过程返回多个结果集。只有在获取所有未决结果后,才能在连接上发出新查询。要处理过程调用结果,您需要使用 mysqli_next_result() / mysqli_more_results()。见例子

停止使用 mysql_* 函数,它们已经过时了。

于 2013-08-07T07:20:44.470 回答