MySQL クエリの URL を介して特殊な記号を渡す必要があります。たとえば、次のような URL が必要です。
www.example.com/index.php?q=AND name LIKE '%hi%'
最初に試したところ、406 エラーが発生しました。私はそれを調べましたが、どうやら and を使用する必要があるようurlencode()
ですurldecode()
。それらを入れると、406エラーはなくなりましたが、MySQLエラーが発生しました:
mysql_fetch_array(): supplied argument is not a valid MySQL result resource
通常、これらを取得すると、クエリが正しく記述されていないことを意味します。だから私はMySQLクエリをエコーし 、すべてがうまく見えました。urldecode()
ページに渡したいものを削除して、変数にハードコーディングしたところ、MySQL エラーはなくなりました。ただし、使用するクエリと使用urldecode()
しないクエリの両方がまったく同じであるため、少し混乱しています。
の php.net ドキュメント ページに移動したところ、と を一緒に使用すると予期しない結果になる可能性urldecode()
があるという警告があり、それは既にデコーダーとして機能している (または、少なくとも私はそのように文言を解釈した) ので、削除されたが._GET
urldecode()
_GET
urldecode()
_GET
urldecode()
MySQL クエリと互換性がありませんか? エンコード/デコードをバイパスするハードコードされた情報でコードをテストしたので、エンコード/デコードの問題であると確信しています。たぶん、urldecode()
どうにかして文字を同じように見えるが内部的に異なる特別なものに変えているので、MySQL はそれらを読み取ることができませんか?