这不起作用,我尝试过很多东西。 htaccess文件指定魔术关闭。下面的代码缩写为quickness。
这是我的PHP:
$name=mysql_real_escape_string($_POST['textfield']['name']);
这是我的SQL命令:
$sql="INSERT INTO tblmentors (name) VALUES ('$name')
mysql_query($sql) or die (mysql_error());
如果文本字段中有撇号,则会存储斜杠并将所有内容搞砸。
答案 0 :(得分:3)
有一些"魔法消毒"在您的应用程序中用于"清理"用户输入。
完全没用,它也会破坏你的数据。
你必须找到并摆脱它。
仔细检查魔法引号。在现代服务器上.htaccess
只是不起作用。
你必须转向准备好的陈述而不是手动转义。
答案 1 :(得分:0)
您可以尝试disable magic quotes。
如果失败,请尝试:
// I prefer to stripslashes() then mysql_real_escape_string().
// If you want, just skip it and do mysql_real_escape_string inside the else part.
if (function_exists ('get_magic_quotes_gpc') && get_magic_quotes_gpc())
{
$tmp = stripslashes ($_POST['textfield']['name']);
}
else
{
$tmp = $_POST['textfield']['name'];
}
$name = mysql_real_escape_string ($tmp);
$sql = "INSERT INTO tblmentors (name) VALUES ('{$name}')";
mysql_query ($sql) or die (mysql_error ());