&(&符号)字符不插入数据库

时间:2010-08-29 06:25:34

标签: php mysql

当我从textarea插入值时,我的SQL查询不会在'&'之后插入数据'前后'和''所有字符都在数据库中更新。我正在使用mysql_real_escape_string()函数。 这些特殊性格应该是什么?

3 个答案:

答案 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截断数据以适应而不是抛出太大的错误。