PHP:命令不同步;现在无法运行此命令
我通常从数据库读取数据,但使用while时出错 我的代码是:PHP:命令不同步;现在无法运行此命令,php,database,mysqli,while-loop,Php,Database,Mysqli,While Loop,我通常从数据库读取数据,但使用while时出错 我的代码是: $BarberId = 1; $stmt = $db->prepare("CALL `GetBranch`(?);"); $stmt->bind_param('i', $BarberId); $stmt->execute(); $Tree_Barber_Id = NULL; $stmt->bind_result($Tree_Barber_Id); $stmt->store_result(); i
$BarberId = 1;
$stmt = $db->prepare("CALL `GetBranch`(?);");
$stmt->bind_param('i', $BarberId);
$stmt->execute();
$Tree_Barber_Id = NULL;
$stmt->bind_result($Tree_Barber_Id);
$stmt->store_result();
if($stmt->num_rows)
{
while($stmt->fetch())
{
$Priod = NULL;
$stmt2 = $db->prepare("SELECT `priod` FROM `t_barber` WHERE `id`=?");
$stmt2->bind_param('i', $Tree_Barber_Id); //ERROR IS HERE!!!
$stmt2->execute();
$stmt2->bind_result($Priod);
$stmt2->store_result();
}
}
$stmt->close();
我认为这个错误是因为变量stmt还没有关闭。但通过$stmt->close关闭;while命令将不起作用
错误是:
Fatal error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\file1.php on line 17
阅读错误消息 致命错误:调用第17行C:\xampp\htdocs\file1.php中布尔值上的成员函数bind_param 第17行是这样的:
$stmt2->bind_param('i', $Tree_Barber_Id);
错误消息告诉您$stmt2是一个布尔值$stmt2来自这一行:
$stmt2 = $db->prepare("SELECT `priod` FROM `t_barber` WHERE `id`=?");
如果出现错误,mysqli的prepare函数
这意味着您的查询无效。您可以通过查看$db->error来找出它的无效之处。如果您使用PDO,我不确定方法bind_param是否存在。尝试wit bindParam方法。Ref:@anggriyulio I'm use mysqli,第3行是work。您可以从过程中获取所有ID,然后在select语句中使用IN获取所有ID。该命令直接在MySql中执行$db->错误是命令不同步;您现在不能运行此命令好的,也许中的答案可以为您指出解决该问题的正确方向。事实上,在使用存储过程命令后,我必须使用以下命令:$db->next\u result;