我有一个搜索页面,它会搜索您搜索的内容(通过POST),然后将其插入表格中。我把它通过电子邮件发送给我,这样我就可以看到发生了什么:
获取变量的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中插入记录。任何其他浏览器都会遗漏“问题8”部分(它仍会插入记录),即使查询完全相同!我可以在phpMyAdmin中剪切和粘贴查询,它运行得很好。
为什么这只适用于IE?其他浏览器是否插入了一些我在那里看不到的特殊字符?我迷路了!
答案 0 :(得分:1)
答案 1 :(得分:0)
搜索页面上使用的HTML或javascript中可能存在错误或浏览器特定的内容。
答案 2 :(得分:0)
如果有效($db_con
引用您的MySQL连接资源),您能告诉我吗?
$searched = mysql_real_escape_string($_POST['searched'], $db_con);
$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."')";