我有一个像这样的 MySql 表
Brand
--------
Honda
Sozuki
Oddi
.
.
.
现在 PHP 中有一个动态数组:
$brand = ["Sozuki","Honda"]
问题是如何检索与上面数组中的单词匹配的数据。我试过这个:
$qry = 'select * from brand where brand Like '% $brand[0] %' and '% $brand[1] %';
它工作得很好,但是如果我没有特定长度的数组,你可以说动态数组,我该怎么办。 任何解决方案将不胜感激谢谢
最佳答案
您不想使用 OR 而不是 AND 吗?
如果是这样,请使用类似的东西(注意:未经测试):
<?php
$brands = array(1, 2, 3, 7, 8, 9);
$inQuery = implode(',', array_fill(0, count($brands), '?'));
$db = new PDO(...);
$stmt = $db->prepare(
'SELECT *
FROM brand
WHERE brand IN(' . $inQuery . ')'
);
foreach ($brands as $k => $brand)
$stmt->bindValue(($k+1), $brand);
$stmt->execute();
// Or simply $stmt->execute($brands);
关于php - 如何在 SQL 查询和 PHP 中匹配字符串中的单词并检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23991714/