• ベストアンサー

PASSWORD関数

INSERT INTO user_table(id,pass) VALUES ('abc',PASSWORD('123'); で入力したデータを以下のSELECT文で抽出しようとした処、クエリー発行は成功するものの、結果行数(mysql_num_rows)が0となります。 SELECT * FROM user_table WHERE pass=PASSWORD('123'); どうぞご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

SQLのカッコが閉じてないのは単なる転記ミス でしょうか? 原因はpassフィールドの桁あふれじゃないでしょうか? select PASSWORD('123');としてみてください。 けっこう長めのパスワードが吐き出されます passがvarcharだとして少な目の桁だと、有効桁で 勝手に切られてしまいます 検索の際のpass=PASSWORD('123')はフルの桁で検索 するからヒットしないとか・・・そういうおちでは?

hola1973
質問者

お礼

回答ありがとうございます。 桁落ち、その通りでした。そういうおちでした。 いったいPASSWORDを利用するとどのくらい長いパスワードが排出されるのでしょうか・・・ もやもやしていたものがすっきりしました。ありがとうございました。

関連するQ&A