我想在MySQL数据库的表中的一列中匹配\'
,因为这些是未正确转义数据的条目。
我将PHP与PDO一起使用,这是相关的代码:
$stmt = $db->prepare("SELECT * FROM table WHERE title LIKE :title");
$stmt->bindValue(':title',"%\\'%",PDO::PARAM_STR);
问题是,这与标题\'
以及单个'匹配。我尝试了\\\\\'
等的各种组合,但没有真正能够匹配\'
,而不是单'
。
我做错了什么?
答案 0 :(得分:1)
事实证明,你实际上需要这样做:
$stmt->bindValue(':title',"%\\\\\\'%",PDO::PARAM_STR);
这是6个反斜杠和一个撇号,然后匹配一个反斜杠和一个撇号。有人对此有解释吗?
PS:我不知道为什么只是添加反斜杠之前没有用,我试过,好像我有双引号或其他东西。