3

私は、さまざまなオンラインチュートリアルを使用して、ログインスクリプト(PHPおよびMySQL)を少しずつ使ってきました。今日、私はユーザー名とパスワードが有効かどうかを確認するのにどちらの方法が最適かについて興味を持ちました。私がこれまで読んだすべてのチュートリアルは、次のように、返された行の数をチェックします。

SELECT stuff FROM users WHERE username = input_username AND password = input_password
count the rows returned
if rows equal to one
login
else
display error message

次のように、COUNTを使用してその値を確認することも同様に実行可能かどうかを考えていました。

SELECT COUNT(stuff) FROM users WHERE username = input_username AND password = input_password
if returned value equal to one
login
else
display error message

私は両方を試しましたが、両方の作業で意図した結果が返されます。では、どちらかを選択する理由はありますか?

4

2 に答える 2

3

どちらも有効なアプローチです。UserIDなど、ユーザーに関する追加情報が必要な場合は、前者を使用します。

于 2012-05-30T17:13:36.073 に答える
1

保存する情報が必要ない場合は、必ず2番目のSQLステートメントを使用する必要があります。COUNT()パフォーマンスに優れています。人々が最初のものに固執する傾向がある理由は、返された行が正の場合、ユーザーに関する情報が必要になるためです。

于 2012-05-30T17:15:12.443 に答える