1

我需要对具有多个“喜欢”的 PDO 执行查询。

到目前为止,我会说我对 1 like 的查询如下所示: $query = $database->prepare('SELECT * FROM table WHERE column1 LIKE ?'); $query->execute(array('%$value1%'));

所以,如果我在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%',.....));

这样就够了吗?

4

1 回答 1

2

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

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

$query = $dbh->prepare('SELECT * FROM table WHERE column1 LIKE ? OR column1 LIKE ? OR column2 LIKE ?');
$query->execute(array("%$value1%","%$value2%",.....));
于 2012-08-08T00:09:08.417 回答