Verwenden Sie PDO-parametrisierte Abfragen, um Methoden mit LIKE-Anweisungen zu erstellen
P粉394812277
P粉394812277 2023-08-22 12:33:39
0
2
540
<p>这是我尝试的代码:</p> <pre class="brush:php;toolbar:false;">$query = $database->prepare('SELECT * FROM table WHERE columns LIKE "?%"'); $query->execute(array('value')); while ($results = $query->fetch()) { echo $results['column']; }</pre></p>
P粉394812277
P粉394812277

Antworte allen(2)
P粉722521204

对于使用命名参数的用户,以下是如何在MySQL数据库中使用LIKE进行%部分匹配的方法:

WHERE column_name LIKE CONCAT('%', :dangerousstring, '%')

其中命名参数为:dangerousstring

换句话说,您在自己的查询中使用明确的非转义%符号,这些符号与用户输入分开。

编辑:对于Oracle数据库,连接语法使用连接运算符:||,所以它将简化为:

WHERE column_name LIKE '%' || :dangerousstring || '%'

然而,正如@bobince在这里提到的,还有一些注意事项:

因此,在结合like和参数化时还需要注意其他事项。

P粉731861241

发布后就找到答案了:

$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?');
$query->execute(array('value%'));

while ($results = $query->fetch())
{
    echo $results['column'];
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!