laravel 如何处理 sql 转义

2016-05-12 10:32:40 +08:00
 outlaws
写代码时发现一条 sql 执行不正常,其中一个 where 条件中的反斜杠被当成了转义符,在 laravel 中如何忽略转义执行 sql.
3585 次点击
所在节点    PHP
6 条回复
xujif
2016-05-12 10:37:48 +08:00
DB::raw
b821025551b
2016-05-12 10:45:10 +08:00
这不是 laravel 的问题吧,可以试着把一个反斜杠替换成两个反斜杠.
reticentfat
2016-05-12 10:58:51 +08:00
加一条反斜杠
shishirui
2016-05-12 11:01:11 +08:00
加一条反斜杠
outlaws
2016-05-12 11:10:22 +08:00
@b821025551b
@reticentfat
因为最开始拿到项目的时候权限模块是直接将 laravel 的命名空间以字符串形式保存在数据库里的,所以在做权限判断的时候因为这个反斜杠的问题非常尴尬,除了批量替换数据之外有其他的办法可以处理吗,比如 laravel 是否有忽略字符串忽略转义的方法
void1900
2016-05-12 11:30:58 +08:00
据我所知 \ 并不影响查询,你的反斜杠真的是被 laravel 转义了吗?

你可以在 sql 中加入 sleep(10) 然后在 mysql 中只想 show full processlsit; 查看实际执行的 sql 是什么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/278106

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX