間違ったSQL結果条件

Satch3000

falseに戻るはずのクエリがあり、trueを返すコードで少し問題があります。

まず、存在しないIDへのSQLクエリがあります。

$result = mysqli_query($con,"SELECT * FROM myTable WHERE id='1' "); //There no id with value of 1

次に、var_dumpを追加して、何が起こっているかを確認します。

var_dump($result);

および条件の後:

if ($result==0) {
  echo 'No results where found';
} else {
  echo 'Some results where found';
}

これがvar_dumpの結果です

object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(12) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) } 

見つかったいくつかの結果

結果は次のようになります。見つかった場所に結果はありません。上記のように、次のようになります。見つかった場所にいくつかの結果

私はここで何を間違っているのですか?

Abhik Chakraborty

mysqli_num_rows()クエリに次のような行があるかどうかを確認する必要があります

$count=mysqli_num_rows($result);
if($count == 0){
 // no result
}else{
 // there is data and do whatever you want
}

http://in2.php.net/mysqli_queryのドキュメントmysqli_query()とリターン部分を確認してください

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

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事