php - 搜索关键字可能包含特殊字符的搜索查询是什么?

标签 php mysql

我有一个表,其中的列允许特殊字符,例如 /\@$

现在,当我尝试从表中搜索此类记录时,我无法获取。 我尝试了一个查询,但它返回 0 行,但实际上存在 1 条记录。在这种情况下如何编写查询?

我的查询(给出错误的结果)是这样的

select * from mytable where column7 like '%jk\xyz@%' 

最佳答案

您可能需要转义一些特殊字符 - 特别是反斜杠。请注意,使用 LIKE 运算符 - 发出命令的过程分为两部分,并且都进行 strip 转义 - 因此要搜索单个反斜杠,您需要使用 4 个反斜杠。

select * from mytable where column7 like '%jk\\\\xyz@%' 

看这个:MySQL LIKE operator with wildcard and backslashhttp://dev.mysql.com/doc/refman/5.6/en/string-comparison-functions.html#operator_like

关于php - 搜索关键字可能包含特殊字符的搜索查询是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473441/

相关文章:

php - 如何删除空的关联数组条目

php - SQLSTATE [42000]:语法错误或访问冲突:1064

mysql - 按日期排序并选择直到达到特定 ID

java - 对 mysql 驱动程序使用 hikari cp 时 JNDI 查找失败

php - 有没有更好的方法来为多插入返回最后插入的 ID?

php - WordPress数据库错误: [Column 'date' cannot be null]

php - 使用 html2pdf 将动态 HTML 转换为 PDF

php - 如何在不使用 XAMPP 或 WAMP 服务器的情况下在 Visual Studio Code 上调试 PHP Laravel

php - 使用按钮 (CakePHP) 从另一个模型添加连接

mysql选择