2016-09-08 19 views
0

私はそれが生成する文字列の種類は、私はMySQLのテーブルのIDとして、私はやることを使用し、このmysql where節のリセット?

9a423553ce53c4d7a6199fa9254bfdc5 

のようなものであるランダムなID番号

md5(uniqid(rand(), true) 

を生成するPHPコードの下に使用します標準の選択クエリ

SELECT * FROM table WHERE id = 9a423553ce53c4d7a6199fa9254bfdc5 

私はこのエラーを取得

Unknown column '9a423553ce53c4d7a6199fa9254bfdc5' in 'where clause' 

私はちょうど1のような単純な番号にIDを変更した場合、それは動作します。

これはなぜですか?

+0

は、あなたが引用符でそれをカプセル化したことがありますか?あなたのクエリ 'id = 9a423553ce53c4d7a6199fa9254bfdc5'では' id = other_id'のような2つのカラムを比較することができます。MySQLはあなたのクエリをどのように扱うべきかを知る必要があります。 – Blake

+2

idに引用符を追加する – odai

+0

@Blake omgうんうんうまく答えとして投稿します。全く見ていない。私は変わった文字列がMysqlでいくつかの意味を持っていると思った。 – codenoob

答えて

3

引用符で囲んでみましたか?あなたのクエリでid = 9a423553ce53c4d7a6199fa9254bfdc5id = other_idのような2つのカラムを比較することができます。MySQLはクエリの処理方法を知る必要があります。

明確にするため、次のようになります。SELECT * FROM table WHERE id = '9a423553ce53c4d7a6199fa9254bfdc5';