LIKE-Query with PHP,mySQL和PDO

时间:2012-08-20 16:37:33

标签: php mysql pdo backslash apostrophe

我想在MySQL数据库的表中的一列中匹配\',因为这些是未正确转义数据的条目。

我将PHP与PDO一起使用,这是相关的代码:

$stmt = $db->prepare("SELECT * FROM table WHERE title LIKE :title");
$stmt->bindValue(':title',"%\\'%",PDO::PARAM_STR);

问题是,这与标题\'以及单个'匹配。我尝试了\\\\\'等的各种组合,但没有真正能够匹配\',而不是单'

我做错了什么?

1 个答案:

答案 0 :(得分:1)

事实证明,你实际上需要这样做:

$stmt->bindValue(':title',"%\\\\\\'%",PDO::PARAM_STR);

这是6个反斜杠和一个撇号,然后匹配一个反斜杠和一个撇号。有人对此有解释吗?

PS:我不知道为什么只是添加反斜杠之前没有用,我试过,好像我有双引号或其他东西。