这个问题在这里已经有了答案:
Fatal error: Call to a member function bind_param() on boolean [duplicate]
(12 个回答)
5年前关闭。
我正在为一个社交网络做一个小项目。我的问题是在使用多个内部连接时 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();
我试图在列中有相应记录的地方来回选择所有数据。
我知道我在这里做错了什么,但到目前为止还无法弄清楚。
最佳答案
mysqli_prepare 函数在出现错误时返回 FALSE。
Return Values
mysqli_prepare() returns a statement object or FALSE if an error occurred.
http://php.net/manual/en/mysqli.prepare.php
你想检查准备的返回。如果它是 FALSE( bool 值),则它不是有效的语句句柄。所以处理错误。您可以调用 mysqli_error() 找出 MySQL 错误是什么。
对于调试,将 SQL 文本带到不同的 MySQL 客户端并对其进行测试,以找出问题所在以及如何修复它。
关于php - 使用内部联接时php中的bind_param错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37630466/