当我们多次使用mysqli_query时,Mysqli_num_rows返回无效计数

时间:2015-07-18 10:10:47

标签: php mysql

我正在调用一个程序,它将返回单行并尝试打印返回的数字。它将返回1.当我调用第二个程序,它也将返回单行并尝试打印计数,它将返回2 !! 。每次调用$ db-> query()时,它都会添加记录计数和先前的记录计数。为什么记录计数不正确?可能是什么原因?如何获得每个查询的记录数?

$db=new mysqli('localhost','root','','dbname');
$res=$db->query("call Proc_EmpLeaveDet_Fetch('a-000','','')");
$db->next_result();
echo $res->num_rows;

$ressearch=$db->query("call Proc_EmpLeaveDet_Fetch('a-000','35','LeaveCode')");
$db->next_result();
echo $ressearch->num_rows;

1 个答案:

答案 0 :(得分:0)

我无法重现这一点,这可能与您正在使用的PHP的特定版本有关;你没有指定。但是,我怀疑您可以通过明确关闭以前的结果集来解决此问题,the manual会遇到一些您可能遇到的相关问题。

我注意到你还在使用$db->next_result,这意味着要与多个查询一起使用。既然你没有使用那些; next_result调用没用,应该删除。