2016-05-02 18 views
2

を使用してデータベースからデータを取得できませんでしたPHPとMySQLを使用してデータベースからデータをフェッチする必要があるが、その次のメッセージを表示:私のようなデータの1セットを持っては、私がissue.Iを持っているMySQLのクエリ

MySQL returned an empty result set (i.e. zero rows). (Query took 0.0021 sec) 

を以下の表。

kf_admin

id username password status 

1 admin  8bb7101921 1 

パスワードの一部は暗号化されたパスワードであり、そのデータ型はvarchar型です。次のクエリを実行すると、上記のメッセージが表示されます。

select * from kf_admin where username='admin' and password='8bb7101921' ; 

ただし、クエリからパスワード部分を削除すると、行データが表示されます。この問題を解決するのを手伝ってください。

+0

にスペースを先頭または末尾することができるので、私はパスワードが示されたり、間違ったでそれをキーイングされているものではないことを前提としなければなりません。あるいは、パスワードに印字不能な文字やスペースがあります。どのようにあなたのパスワードを暗号化したのですか、またはハッシュを意味しますか – RiggsFolly

+0

phpMyAdminのようなものにそのクエリを直接入力しているのですか、PHPからこれをやっているのですが、今使っているPHPコードを表示しています – RiggsFolly

+1

ユーザ名フィールドまたはパスワードフィールドの末尾にスペースがある場合は、 というeighterの回答が得られます。パスワードには余分なスペースが必要です。このように '8bb7101921' .. このシナリオを確認してください... – anuraj

答えて

4
select * from kf_admin where trim(username)='admin' and trim(password)='8bb7101921' ; 

、これを試してみてください動作するはずフィールド

+0

はい、あなたは正しいです。 – subhra

+1

これらのパスワードを作成するときやデータベースに保存するときには、**より多くの注意を払う必要があります** – RiggsFolly

関連する問題