如何使用 PDO::quote 转义 LIKE 表达式中的字符串?

问题描述 投票:0回答:3

我尝试使用

PDO::quote
转义
LIKE
表达式中的字符串,因此用户字符串不得像 :

中那样被包围
LIKE "%userStringToEscape%"

有办法做到吗?

php sql pdo
3个回答
8
投票
$var = "%userStringToEscape%";
$var = $stmt->quote($var);
$sql = "SELECT * FROM table WHERE field LIKE $var";

准备好的陈述也是如此


4
投票

执行此操作的干净解决方案当然是

$db->quote('%'.$var.'%')


-1
投票

就这样做:

$like = $pdo->quote("%{$userStringToEscape}%");
$sql  = "SELECT * FROM field LIKE {$like}";

http://php.net/manual/en/pdo.quote.php

© www.soinside.com 2019 - 2024. All rights reserved.