2

我对为什么收到以下消息感到困惑:

mysqli_num_rows() 期望参数 1 为 mysqli_result,布尔值

这个问题与之前的查询不同,因为我的查询实际上执行正确(值确实已输入到数据库中)。所以,我希望 MySQL 返回一个结果集而不是一个布尔值。

以下是我的功能:

function join_main_newsletter($firstName = null, $email)
{
    global $dbc;
    $valuesEntered = "values entered";

    $insert = "INSERT INTO newsletter (first_name, email ) VALUES ('name', 'testemail@yahoo.com')";

    $R3 = mysqli_query($dbc, $insert) or trigger_error("Query Failed! SQL: $sql - Error: " . mysqli_error(db_conx), E_USER_ERROR);
    if (mysqli_num_rows($R3) == 1) {
        return $valueentered;
    } else {
    }
}

这是错误结果的一部分:

[valuesEntered] => values entered
    [insert] => INSERT INTO newsletter (first_name, email ) 
                  VALUES ('name', 'testemail@yahoo.com')
    [R3] => 1
4

3 回答 3

4

mysqli_num_rows()函数返回结果集中的行数。用于插入、更新和删除mysqli_affected_rows

于 2013-10-29T14:02:52.657 回答
1

使用mysqli_affected_rows()- 受最后一个 INSERT、UPDATE、REPLACE 或 DELETE 查询影响的行数。

于 2013-10-29T14:03:30.837 回答
1
  mysql_num_rows ( resource $result )

从结果集中检索行数。此命令仅对返回实际结果集的 SELECT 或 SHOW 等语句有效。要检索受 INSERT、UPDATE、REPLACE 或 DELETE 查询影响的行数,请使用 . mysql_affected_rows() 喜欢

if(mysql_affected_rows()) 
    {
        return $valueentered ;
    }
    else
    {
        false; 
    }
于 2013-10-29T14:07:31.753 回答