Heim > Fragen und Antworten > Hauptteil
P粉7225212042023-08-23 09:18:33
对于使用命名参数的用户,以下是如何在MySQL数据库中使用LIKE
进行%
部分匹配的方法:
WHERE column_name LIKE CONCAT('%', :dangerousstring, '%')
其中命名参数为:dangerousstring
。
换句话说,您在自己的查询中使用明确的非转义%
符号,这些符号与用户输入分开。
编辑:对于Oracle数据库,连接语法使用连接运算符:||
,所以它将简化为:
WHERE column_name LIKE '%' || :dangerousstring || '%'
然而,正如@bobince在这里提到的,还有一些注意事项:
因此,在结合like和参数化时还需要注意其他事项。
P粉7318612412023-08-23 00:34:09
发布后就找到答案了:
$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?'); $query->execute(array('value%')); while ($results = $query->fetch()) { echo $results['column']; }