我正在为社交网络开展一个小项目。我的问题是在使用多个内部联接时bind_param会引发错误
Fatal error: Call to a member function bind_param() on boolean in /var/www/html/index.php on line <line number>
这是我的代码:
$ user_id已经从其他地方获取,没有问题。另外,如果我在这里只使用一个内连接,它就可以工作。
的index.php
$sqlFetchUserList = $db->prepare("SELECT r.* from registered_users r inner join connections c
on r.id = c.connections_userid
inner join connections c
on r.id = c.uid
where c.uid = ? or c.connections_userid = ?");
$sqlFetchUserList->bind_param("ii",$user_id,$user_id);
$sqlFetchUserList->execute();
$sqlFetchUserList = $sqlFetchUserList->get_result();
我试图在列中有相应记录的地方来回选择所有数据。
我知道我在这里做错了什么但到目前为止还没弄清楚。
答案 0 :(得分:0)
当出现错误时,mysqli_prepare函数返回FALSE。
返回值
mysqli_prepare()会在发生错误时返回语句对象或 FALSE 。
http://php.net/manual/en/mysqli.prepare.php
你想检查准备的回报。如果它是FALSE(布尔值),它的不是一个有效的语句句柄。所以处理错误。您可以调用 mysqli_error()来查找MySQL错误。
对于调试,将SQL文本带到不同的MySQL客户端并对其进行测试,以找出问题所在以及如何解决问题。