bindValue不逃避
问题描述:
我在php.net阅读评论:bindValue不逃避
虽然
bindValue()
逃逸引用它并没有逃脱“%”和“_”,因此使用LIKE
时要小心。如果您没有自己转义参数,则充满%%%的恶意参数可以转储整个数据库。 PDO不提供任何其他的转义方法来处理它。
那么它真的不逃避%和_?什么可能是最好的解决方案呢?
答
正如评论所说,这只是LIKE
查询的一个问题。
这取决于你的数据库如何逃避这些价值观。如果正常的反斜杠作品(如在MySQL),然后使用:
$like = addcslashes($like, "%_");
或者它可能是最好的偷懒,只是剥离这些元字符出来:
$like = strtr($like, "%_", " ");