令人困惑的mysqli函数问题

时间:2014-02-12 22:08:51

标签: php mysql mysqli

我遇到的问题是,除非用户ID为1,否则mysql num行将无效。

如果它显示任何其他内容

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/theclear/public_html/redline/class/class_db_mysqli.php on line 66

要求麻木行的部分:

$rrr=$db->query("SELECT * FROM referals WHERE refREFER={$r['userid']}");
print $db->num_rows($rrr);

和class_db_mysqli.php中的函数(包括第66行):

 function num_rows($result=0)
  {
    if(!$result) { $result=$this->result; }
    return mysqli_num_rows($result);
  }

如果userid = 1,我无法解决为什么它工作正常但如果userid> gt则不能解决1 ....

据我所知......

Im - > Id 1 你是 - > ID2

$userid=$_GET['u']

如果我访问 domain.xxx/file.php?u=1

不显示错误和正确的结果。

如果我访问 domain.xxx/file.php?u=2

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/theclear/public_html/redline/class/class_db_mysqli.php on line 66

显示

1 个答案:

答案 0 :(得分:1)

你的警告并没有告诉你id必须是1.而是说mysqli_num_rows()中的第一个参数必须是mysqli_result类型。你给的是一个布尔值。

这是因为您对mysqli_query的调用返回的布尔值为FALSE。阅读该函数的文档,您还可以找出mysqli_error的错误。