PDO查询中的多个LIKE


Multiple LIKE in PDO query

我需要对PDO执行多个"喜欢"的查询。

到目前为止,我会说我对 1 的查询如下所示:$query = $database->prepare('从表中选择 * 其中 column1 喜欢 ?');$query->execute(array('%$value 1%'));

所以,如果我在 mysql 中有这个:

mysql_query("SELECT * FROM table WHERE column1 LIKE %$value1% OR column1 LIKE %$value2% OR column2 LIKE %$value1%")

它将如何转化为PDO?

mysql_query("SELECT * FROM table WHERE column1 LIKE ? OR column1 LIKE ? OR column2 LIKE ?")
$query->execute(array('%$value1%','%$value2%',.....));

这样就够好了吗?

差不多就是这样,尽管您在第二个示例中似乎仍在使用 mysql_* 函数而不是 PDO。

除此之外,如果您希望变量替换到字符串中,您只需要记住使用双引号。

$query = $dbh->prepare('SELECT * FROM table WHERE column1 LIKE ? OR column1 LIKE ? OR column2 LIKE ?');
$query->execute(array("%$value1%","%$value2%",.....));