gpt4 book ai didi

php - MySQL中出现的转义字符

转载 作者:行者123 更新时间:2023-11-29 00:08:03 25 4
gpt4 key购买 nike

我正在将一个 HTML 表单从开发(本地主机)转移到生产环境,初步测试发现一个问题,即生产 MySQL 数据库中出现的转义字符在本地主机数据库中没有出现。

我正在使用 mysql_real_escape_string 来转义表单处理文件和本地主机数据库中的字符,这些字符已正确保存,您看到的只是撇号或引号。

然而,一旦移至生产环境,表单仍能正确处理,但数据库记录现在在撇号或引号符号前有反斜杠转义字符。打印记录时会出现反弹,这是 Not Acceptable 。

除了本地主机和生产运行不同版本的 MySQL(本地主机运行 5.5.24-log 而生产运行 5.0.95-log)之外,其他似乎没有什么不同。我无法控制生产版本,因为它由 ISP 管理,所以我希望这不是问题所在。

希望这是有道理的?非常感谢任何帮助。

最佳答案

解决方案是在显示输出之前使用 stripslashes()

$text = "Don\'t use mysql_* and use mysqli or PDO instead";
echo stripslashes($text); // would echo it out without the backslash

作为替代方案,您可以开始使用准备好的语句,这是处理用户输入和数据库的最佳实践,这也可以让您省去必须转义所有引号并在显示它们之前去除反斜杠的麻烦。

关于php - MySQL中出现的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26614710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com