当我从textarea插入值时,我的SQL查询不会在'&'之后插入数据'前后'和''所有字符都在数据库中更新。我正在使用mysql_real_escape_string()
函数。
这些特殊性格应该是什么?
答案 0 :(得分:1)
不,与这个角色无关。
但是你必须 debug 你的代码才能看到你的数据发生了什么
通过跟踪从textarea到数据库的整个路径
很可能它甚至不会出现在查询中。您至少打印此查询并检查它是否正常。如果没有 - 追溯。在脚本的各个位置打印textarea数据,以捕获失去&符号的位置。
答案 1 :(得分:0)
Probabaly值得确保您将字符串括在引号中。否则我们将需要更多细节!
错:
UPDATE table SET value = & WHERE field = 'foo'
右:
UPDATE table SET value = '&' WHERE field = 'foo'
答案 2 :(得分:-1)
你的php.ini中是否也启用了魔术引号?这可能导致一些陷阱。
您可以在新页面中运行此代码进行检查。
if(get_magic_quotes_gpc())
echo "Magic quotes are enabled";
else
echo "Magic quotes are disabled";
如果您启用了魔术引号,并且尝试使用mysql_real_escape_string,则可以双重转义。其他要检查的事项:文本是否太长而无法放入适当的列? MySQL截断数据以适应而不是抛出太大的错误。