こんなテーブルがあります:
ユーザー名フィールドは varchar(20) です。
クエリは次のとおりです:
ここでの $username の書き方が実際には間違っていることはわかっています。本来は '123' であるはずですが、パラメータが以下の PDO::PARAM_STR として指定されているため、クエリでは 2620 が見つかります。
しかし、突然 PDO::PARAM_STR を PDO::PARAM_INT に変更したいと思ったとき、結果は 2620 と 2621 の両方がクエリされることになりました。
この結果がよくわからないのですが、この PDO::PARAM_XXX は一体何をするのでしょうか?わかりやすく説明してください、ありがとう。
わかりました、この質問に答えた後、データベースで username=123 の select * from user を直接試してみたところ、両方の結果が出たので、PDO には問題ありませんが、123 が問題ではない理由がまだわかりません引用符を追加すると、この効果があります。