Php 如何使用'\';在类似SQL的。。。逃逸'\';
我正在尝试删除描述中没有快照聊天用户名的所有缓存项。我在尝试转义破折号字符时总是遇到语法问题 查询:Php 如何使用'\';在类似SQL的。。。逃逸'\';,php,mysql,escaping,sql-like,Php,Mysql,Escaping,Sql Like,我正在尝试删除描述中没有快照聊天用户名的所有缓存项。我在尝试转义破折号字符时总是遇到语法问题 查询: $cacheItems = CacheItem::whereRaw("description NOT LIKE '%'") ->whereRaw("description NOT LIKE '%You use \ as your ESCAPE character in this: description NOT LIKE '%sc\_%' ESCAPE '\' $cac
$cacheItems = CacheItem::whereRaw("description NOT LIKE '%'")
->whereRaw("description NOT LIKE '%You use \
as your ESCAPE character in this:
description NOT LIKE '%sc\_%' ESCAPE '\'
$cacheItems=CacheItem::whereRaw(“描述与“%”不同”)
->whereRaw(“说明”与“%”不同,您在以下情况下使用\
作为转义字符:
description NOT LIKE '%sc|_%' ESCAPE '|'
这是一个有问题的选择,因为\
本身作为转义符被到处使用,在各种客户端软件包中也是如此
如果这是我的代码,那么在这个上下文中我根本不会信任\
(因为我很懒,我不想知道它在哪里以及如何被用作转义字符)
或者,最好选择像这样的其他转义字符(|
,在本例中)
或者将sql的转义部分中的\
加倍,如下所示
(请记住,列(如“%whatever”
)是一种臭名昭著的查询性能反模式,因为它不能在列上使用任何索引)你在使用特殊字符吗?Sc
看起来很有趣。你在使用什么框架?还有你的SQL
语句是错误的。Laravel framework,我理解我的语句是错误的-你能帮我弄清楚为什么吗?\-
是什么意思吗?它在PHP中是无效的,复制了1:1。所以mysql抛出了一个错误。mysql不是逃逸“\”
description NOT LIKE '%sc\_%' ESCAPE '\\'