PHP関数を使用してクエリmysqli_query
を実行しています。SELECT
mysqli_query
クエリが正常に実行されたが、クエリが一致するものを見つけられなかった場合、何が返されますか?
マニュアルによると:
失敗するとFALSEを返します。SELECT、SHOW、DESCRIBE、またはEXPLAINクエリを成功させると、mysqli_query()はmysqli_resultオブジェクトを返します。その他の成功したクエリの場合、mysqli_query()はTRUEを返します。
実行されても結果を返さないクエリは、データベースで実行され、空の結果セットが正当な応答であるため、「成功したクエリ」と見なされます。これは、クエリが引き続きオブジェクトを返すことを意味し、mysqli_result
その行数をチェックすると($result->num_rows
オブジェクト指向スタイルまたはmysqli_num_rows($result)
手続き型スタイルのいずれかで)、0が返されます。
オブジェクト。mysqli_num_rowsをMysqli_query
使用して、返された行の数を数えることができます。それで:
if(mysqli_num_rows($query) > 0 ){
// Do something
}
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を返します。