2

次のメッセージが表示される理由がわかりません。

mysqli_num_rows() は、パラメーター 1 が mysqli_result であると想定し、ブール値が与えられます

私のクエリは実際に正しく実行されるため、この質問は以前のクエリとは異なります(値は実際にデータベースに入力されました)。したがって、MySQL は BOOLIAN ではなく結果セットを返すと思います。

以下は私の機能です:

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
  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 に答える