0

お問い合わせがありましたら、

SELECT (...) FROM User WHERE Username = (...) AND Password = (...);

ユーザーが無効なユーザー名を入力した場合、ユーザー名が間違っていたことを特定する方法はありますか?

これは、「ユーザーが存在しません」など、より具体的なエラー メッセージをユーザーに表示できるようにするためです。

4

3 に答える 3

1
SELECT COUNT(*) AS `count` FROM `User` WHERE `Username` = ...;

if( $result['count'] < 1 )
{
  // no user
}

// repeat for pass.
于 2012-08-29T19:17:58.043 に答える
0

ユーザー名を選択し、パスワードが一致した場合はビットフィールドをオンにします。したがって、WHERE句からパスワード部分を削除し、SELECT句に移動します。次に、一致する行がないということは、無効なユーザー名を意味します。行がある場合は、そのフィールドをチェックして、パスワードが一致するかどうかを確認する必要があります。

SELECT (...) IF(password=?, 1, 0) as success
FROM User
WHERE Username = ? 
于 2012-08-29T19:18:47.677 に答える
0

このようにすることに固執している場合は、次のことができます。

SELECT password FROM user WHERE username = ?

レコードが見つからない場合、ユーザー名は存在しません。一致する場合は、パスワードを比較できます。

于 2012-08-29T19:19:35.260 に答える