如何在 PDO 中将 LIKE 值与 % 字符绑定?

Linda Hamilton
发布: 2024-11-16 16:59:03
原创
679 人浏览过

How to Bind LIKE Values with the % Character in PDO?

在 PDO 中将 LIKE 值与 % 字符绑定

在 PDO 驱动的 SQL 查询中,经常需要绑定包含 % 通配符的 LIKE 值。绑定此类值可确保防止 SQL 注入。但是,这样做的语法可能会令人困惑。

使用 LIKE '%' 进行查询:绑定注意事项

考虑查询:

select wrd from tablename WHERE wrd LIKE '$partial%'
登录后复制

在这里,您想要使用 PDO 绑定变量 $partial。当决定如何绑定 % 字符时,就会出现困境。

绑定选项

选项 1:

select wrd from tablename WHERE wrd LIKE ':partial%'
登录后复制

绑定 :partial to $ partial="somet".

选项 2:

select wrd from tablename WHERE wrd LIKE ':partial'
登录后复制

绑定 :partial 到 $partial="somet%".

选项 3(替代):

SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
登录后复制

使用 MySQL CONCAT 函数执行字符串连接。

特殊情况注意事项

如果正在搜索的部分单词包含% 或下划线字符,需要特殊处理。解决方案涉及在 PDO 语句中使用 ESCAPE 子句:

$stmt = $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped = str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);
登录后复制

此技术可确保在 LIKE 表达式中正确解释特殊字符。

以上是如何在 PDO 中将 LIKE 值与 % 字符绑定?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板