这是我尝试的代码:
$query = $database->prepare('SELECT * FROM table WHERE column LIKE "?%"');
$query->execute(array('value'));
while ($results = $query->fetch())
{
echo $results['column'];
} Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
对于使用命名参数的用户,以下是如何在MySQL数据库中使用
LIKE进行%部分匹配的方法:WHERE column_name LIKE CONCAT('%', :dangerousstring, '%')其中命名参数为
:dangerousstring。换句话说,您在自己的查询中使用明确的非转义
%符号,这些符号与用户输入分开。编辑:对于Oracle数据库,连接语法使用连接运算符:
||,所以它将简化为:然而,正如@bobince在这里提到的,还有一些注意事项:
因此,在结合like和参数化时还需要注意其他事项。
发布后就找到答案了:
$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?'); $query->execute(array('value%')); while ($results = $query->fetch()) { echo $results['column']; }