使用内连接时,php中的bind_param错误

时间:2016-06-04 12:53:44

标签: php mysql mysqli mysqlnd

我正在为社交网络开展一个小项目。我的问题是在使用多个内部联接时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();

我试图在列中有相应记录的地方来回选择所有数据。

我知道我在这里做错了什么但到目前为止还没弄清楚。

1 个答案:

答案 0 :(得分:0)

当出现错误时,mysqli_prepare函数返回FALSE。

  

返回值

     

mysqli_prepare()会在发生错误时返回语句对象或 FALSE

http://php.net/manual/en/mysqli.prepare.php

你想检查准备的回报。如果它是FALSE(布尔值),它的不是一个有效的语句句柄。所以处理错误。您可以调用 mysqli_error()来查找MySQL错误。

对于调试,将SQL文本带到不同的MySQL客户端并对其进行测试,以找出问题所在以及如何解决问题。