0

PHPでmysqlクエリの結果が実際に見つかったかどうかを確認するにはどうすればよいですか

例えば

$usersearch=mysql_query("Select * FROM users WHERE username=$Searchboxinput");
if($usersearch==successfull){
//What happens when successfull
}
else{
//what happens when unsuccessfull
}

したがって、$searchboxinput に一致するユーザーが見つかった場合、何かを実行し、その逆も実行します。

4

4 に答える 4

3

使用するmysql_num_rows()

if(mysql_num_rows($usersearch) > 0){
//What happens when successfull
}
else{
//what happens when unsuccessfull
}

参考までに、新しいコードでは関数を使用しないでくださいmysql_*。それらはもはや保守されておらず、公式に非推奨です赤いボックスが見えますか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事はどちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

また、 SQL インジェクションを受け入れる可能性もあります。

于 2013-05-13T17:52:18.200 に答える
1

試す、

//mysql_query returns resource when successful 
if(mysql_num_rows($usersearch) > 0 ) {...}
else {...}

マニュアル

注: Mysql_* 拡張機能は非推奨です。代わりに PDO または Mysqli 拡張機能を使用してみてください。

于 2013-05-13T17:52:39.623 に答える
0

このようにチェック

$count = mysql_num_rows($usersearch);


if($count)>0) {
}
于 2013-05-13T17:52:26.297 に答える
0

$usersearchクエリが実行できる場合 (一致があったかどうかに関係なく)、クエリ結果セットへのポインターが含まれます。または、何らかの理由でクエリが実際に失敗した場合は、 の値が保持されますfalse

そのため、結果セットをチェックして、実際に返されたレコードがあるかどうかを確認する必要があります。多くの場合、これは を使用して簡単に実行できmysql_num_rows()ます。以下に例を示します。

$usersearch=mysql_query("Select * FROM users WHERE username=$Searchboxinput");
if(false === $usersearch){
    // there was a problem running the query
    echo mysql_error();
} else if (mysql_num_rows($usersearch) === 0) {
    // no results were found
} else {
    //  you have at least one record returned
}

mysqliorPDOの使用方法を学ぶこともお勧めしますmysql_*。関数は廃止されているためです。

于 2013-05-13T17:57:02.357 に答える