8

PHP関数を使用してクエリmysqli_queryを実行しています。SELECT

mysqli_queryクエリが正常に実行されたが、クエリが一致するものを見つけられなかった場合、何が返されますか?

4

3 に答える 3

18

マニュアルによる

失敗するとFALSEを返します。SELECT、SHOW、DESCRIBE、またはEXPLAINクエリを成功させると、mysqli_query()はmysqli_resultオブジェクトを返します。その他の成功したクエリの場合、mysqli_query()はTRUEを返します。

実行されても結果を返さないクエリは、データベースで実行され、空の結果セットが正当な応答であるため、「成功したクエリ」と見なされます。これは、クエリが引き続きオブジェクトを返すことを意味し、mysqli_resultその行数をチェックすると($result->num_rowsオブジェクト指向スタイルまたはmysqli_num_rows($result)手続き型スタイルのいずれかで)、0が返されます。

于 2013-01-19T22:38:19.147 に答える
4

オブジェクト。mysqli_num_rowsをMysqli_query使用して、返された行の数を数えることができます。それで:

if(mysqli_num_rows($query) > 0 ){
    // Do something
}
于 2013-01-19T22:33:15.083 に答える
1
if ($result = $mysqli->query("SELECT * FROM data"))
{
    $count = $result->num_rows; 
    printf("Result set has %d rows.\n", $count);
    $result->close();
}

参考から:

失敗するとFALSEを返します。SELECT、SHOW、DESCRIBE、またはEXPLAINクエリを成功させると、mysqli_query()はmysqli_resultオブジェクトを返します。その他の成功したクエリの場合、mysqli_query()はTRUEを返します。

于 2013-01-19T22:35:09.730 に答える