php - 如何比较 PHP/MySQL 中的转义字段?

标签 php mysql

我不太确定为什么会遇到这个问题,但目前我被阻止了。我遇到的问题是,当使用 Doctrine 插入 MySQL 时,某些值会自动转义。例如,在用户输入诸如 he/she 之类的内容的表单上,存储到 MySQL 表中的数据是 he\/she

现在的问题是,有时用户会使用搜索功能,但使用 he/she 不会给他们任何结果。我该如何解决这个问题?我正在考虑转义传递给 LIKE 函数的字符串上的字符,这是正确的方法吗?我认为如果用户具有诸如 this is 50% 之类的值,也会发生同样的问题(百分比在提供给 LIKE 之前也需要转换)功能?)

最佳答案

您需要从根本上解决这个问题 - 数据永远不应该进入您的数据库。造成这种情况的可能原因是 Web 服务器配置错误,该服务器仍然具有 magic quotes使用 MSSQL 模式启用,或者使用尝试以(非常)错误的方式进行输入清理的库。您应该永远想要在搜索端修复这个问题 - 一旦您开始修补损坏的数据,您就会陷入无尽的问题污水池。

调试数据出错的原因,并修复它。

关于php - 如何比较 PHP/MySQL 中的转义字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21446511/

相关文章:

php - 使用变量获取数据库

Java - 如何检查用户名是否已存在于 MySQL 表中

mysql - 原生 XML 数据库与 SQLite/MySQL

mysql - MySQL 指定字段的 UPDATE 语句

javascript - 将 php key 转换为 javascript 以进行日志记录

php - 如何在没有函数的情况下在php中获取数组的所有组合

mysql - mysql 查询中的未知列

php - 要创建一个安全的 PHP/MySQL 网站,最重要的事情是什么?

PHP:将数字设置为关联数组中的键

php - 简化多重 echo