首页 文章

PHP错误:mysqli_num_rows()期望参数1为mysqli_result,boolean给出[duplicate]

提问于
浏览
4

可能重复:mysql_fetch_array()期望参数1是资源,在select中给出布尔值

我在下面收到以下错误 . 第53行是 if(mysqli_num_rows($r) == 1) { . 我该如何解决这个问题 .

PHP error: on line 53: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given

这是PHP MySQL代码 .

$d = "UPDATE users SET del = 1, del_date = NOW() WHERE userid = '" . $_SESSION['userid'] . "'";
$r = mysqli_query ($mysqli, $d) or trigger_error("Query: $d\n
MySQL Error: " . mysqli_error($mysqli)); if(mysqli_num_rows($r) == 1) {

2 回答

  • 5

    mysqli_query 为UPDATE查询返回一个布尔值 . 见http://php.net/manual/en/mysqli.query.php . 你可能想要这样的东西:

    if (mysqli_affected_rows() == 1) {
        // ...
    }
    
  • 3

    因为mysqli_query()在UPDATE上返回TRUE(1) . mysqli_num_rows()需要成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询中的某些行 .

    所以:

    if ($r) {
    

    或使用mysqli_affected_rows()

相关问题