我尝试使用
PDO::quote
转义 LIKE
表达式中的字符串,因此用户字符串不得像 : 中那样被包围
LIKE "%userStringToEscape%"
有办法做到吗?
$var = "%userStringToEscape%";
$var = $stmt->quote($var);
$sql = "SELECT * FROM table WHERE field LIKE $var";
准备好的陈述也是如此
执行此操作的干净解决方案当然是
$db->quote('%'.$var.'%')
就这样做:
$like = $pdo->quote("%{$userStringToEscape}%");
$sql = "SELECT * FROM field LIKE {$like}";