PHP参数错误

时间:2013-05-05 14:05:12

标签: php

嗨,有人可以帮我理解以下错误吗?它说

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, array given in C:\xampp\htdocs\docs\scheme\master\index.php on line 412

我的代码如下;

.....
       foreach($_POST['delz'] as $delz)
       {
   $delz=mysqli_real_escape_string($db,$delz);
    $QR = "SELECT bname, bsku FROM brands WHERE id='$delz'";
    $rr = mysqli_query($db,$QR) or die ("SQL Error");
    $rr = $rr->fetch_assoc();
    $roV = mysqli_num_rows($rr); //line 412 reads as this
    echo "<tr><td class='sc_five'>".$rr['bname']." ".$rr['bsku']; 

....代码继续

感谢您的帮助。

谢谢!

1 个答案:

答案 0 :(得分:3)

切换那两行:

$rr = $rr->fetch_assoc();
$roV = mysqli_num_rows($rr);

$roV = mysqli_num_rows($rr);
$rr = $rr->fetch_assoc();

mysqli_fetch_assoc()调用$rr之后没有引用实际的MySQLi结果资源,而是第一行的数组表示,它丢失了所有其他周围的信息,例如返回的行数。这就是mysql_num_rows()未能将$rr确认为有效的MySQLi结果资源的原因。