Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在包含特殊字符的SQL查询中使用LIKE时出现问题_Mysql - Fatal编程技术网

Mysql 在包含特殊字符的SQL查询中使用LIKE时出现问题

Mysql 在包含特殊字符的SQL查询中使用LIKE时出现问题,mysql,Mysql,这并没有给我正确的结果,即使我的数据库中有一行具有正确的字符串 对我来说,更好的解决办法是找到一种方法,这样我的“图片”和“zee的最爱”字符串就可以被当作一根字符串。我可以在上面表演 我怎样才能修好它 提前谢谢 Zeeshan如果字符串中有反斜杠,则应将其转义两次: SELECT id, absolute_tag, tag FROM c7_storage_tags WHERE users_id = 1 AND LOWER(absolute_tag) LIKE LOWER('@#P

这并没有给我正确的结果,即使我的数据库中有一行具有正确的字符串

对我来说,更好的解决办法是找到一种方法,这样我的“图片”和“zee的最爱”字符串就可以被当作一根字符串。我可以在上面表演

我怎样才能修好它

提前谢谢


Zeeshan

如果字符串中有反斜杠,则应将其转义两次:

SELECT id, absolute_tag, tag FROM c7_storage_tags
WHERE users_id = 1 
      AND LOWER(absolute_tag) LIKE LOWER('@#Pictures#zee\'s fav%')

您的查询应该如下所示

// value absolute_tag == "@#Pictures#zee\'s fav"
select * from test where  `absolute_tag` like '@#Pictures#zee\\\\\'%'

您最初的查询是在查找带有Absolute#u标记的记录,标记以“@#Pictures#zee's fav”开头。

您能再提供一些数据吗。例如,absolute_tag列中的更多值absolute_tag列具有文件夹路径,例如Documents文件夹名称TestFolder中有一个文件夹,因此绝对路径中的数据将为@#Documents#TestFolder谢谢。您还可以告诉我如何使用$shared\u tag\u path=str\u replace(“\”、“\”、$string\u name\u var);在php中转义反斜杠。我猜php不允许“\”我不能马上告诉你,因为我现在不能测试,我相信它应该是
stru-replace(“\”、“\”、$string\u-name\u-var)
SELECT id, absolute_tag, tag FROM c7_storage_tags
WHERE users_id = 1 
AND LOWER(absolute_tag) LIKE LOWER('@#Pictures#zee\\\\\'s fav%')