検索したものを(POST経由で)取得し、それをテーブルに挿入する検索ページがあります。私はそれが私に問い合わせをメールしていたので、私は何が起こっていたか見ることができる:変数を取得最も奇妙なPHP/MySQLのバグ
マイPHP:
$searched = mysql_real_escape_string($_POST['searched']);
に(私に電子メールで送信)、それを使用するクエリを:
INSERT INTO conversations (viID, moID, viTyping, moTyping, priority, status, open, mOpen, lastMsgID, searched) VALUES (435, 0, 0, 0, 0, 0, 1, 1, 0, "
ここで
クエリを組み立てるのコードは次のとおりです。
$query = "INSERT INTO conversations (viID, moID, viTyping, moTyping, priority, status, open, mOpen, lastMsgID, searched) VALUES ($userID, 0, 0, 0, 0, 0, 1, 1, 0, \"$searched\")";
ページはIEから実行するたびに、これはレコードを挿入DBは正常です。クエリが完全に同じであっても、他のブラウザは "question8"の部分を削除します(レコードを挿入します)。私はphpMyAdminでクエリをカット&ペーストすることができ、うまく動作します。
なぜこれはIEでのみ機能しますか?他のブラウザには私が見ることのできない特殊文字が挿入されていますか?道に迷いました!
クエリをアセンブルするコードを確認できますか? – dqhendricks
ブラウザはすべてのサーバー側であるので、($ _POST変数に関係しない限り)ブラウザとは関係ありません。PHPファイルに表示されるコードを投稿できますか? –
'$ _POST'の内容をダンプし、内容を確認します。あなたもあなたのクエリをエスケープすることを確認してください。 – BoltClock