在将字符串插入到mysql数据库之前,我使用mysql_real_escape_string对其进行转义。
一切正常,除了mysql遗漏了字符’并将其转换为’。
我能做些什么来解决这个问题?我应该使用更好的函数来转义字符串吗?
我还担心其他字符可能会被忽略,并被类似地变成废话!
请帮帮我!
谢谢:)
发布于 2011-01-20 03:33:21
字符‘没有遗漏,它只是mysql不用来封装字符串的字符,也不需要进行转义。
它变成那个奇怪的字符串的原因是因为它是一个多字节字符,而您将它放入一个单字节字段中。
发布于 2011-01-20 03:32:27
您应该使用带有绑定变量的预准备语句:http://php.net/manual/en/pdo.prepared-statements.php,这样您就不必担心转义。在我链接的文档中提到了这些优点。
发布于 2011-01-20 03:33:26
mysql_real_escape_string()简单地转义了几个字符(使用\),使它们“安全”地插入到查询中。您的数据(带样式的引号)和列编码类型似乎有一个编码不匹配。mysql_real_escape_string永远不会解决这种问题。
https://stackoverflow.com/questions/4739721
复制相似问题