首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bindValue不能逃脱

bindValue不能逃脱
EN

Stack Overflow用户
提问于 2011-04-03 02:34:35
回答 1查看 492关注 0票数 1

我在php.net上读到一条评论:

--尽管bindValue()转义引用--它不会转义"%“和"_",所以在使用LIKE时要小心。如果您不自己转义%%,则包含%的恶意参数可以转储整个数据库。PDO不提供任何其他转义方法来处理它。

那么它真的没有逃脱%和_?解决这个问题的最好办法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-03 02:55:38

正如评论所述,这实际上只是LIKE查询的一个问题。

这取决于您的数据库如何转义这些值。如果正常反斜杠转义工作(如在MySQL中),则使用:

代码语言:javascript
复制
$like = addcslashes($like, "%_");

或者,最好是懒散地把这些元字符去掉:

代码语言:javascript
复制
$like = strtr($like, "%_", "  ");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5527197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档