gpt4 book ai didi

php - 在 mysql 中使用 LIKE CONCAT 数组

转载 作者:行者123 更新时间:2023-11-30 01:17:57 26 4
gpt4 key购买 nike

我使用以下代码从数据库获取行

$get_brand_filter_result = mysql_query("SELECT * FROM brand WHERE ('$arrBrands[0]'     LIKE CONCAT(brand_name, '%')
OR '$arrBrands[1]' LIKE CONCAT(brand_name, '%')
OR '$arrBrands[2]' LIKE CONCAT(brand_name, '%')
OR '$arrBrands[3]' LIKE CONCAT(brand_name, '%')
OR '$arrBrands[4]' LIKE CONCAT(brand_name, '%')
OR '$arrBrands[5]' LIKE CONCAT(brand_name, '%')
OR '$arrBrands[6]' LIKE CONCAT(brand_name, '%')
OR '$arrBrands[7]' LIKE CONCAT(brand_name, '%')
OR '$arrBrands[8]' LIKE CONCAT(brand_name, '%')
)", $db2) or die(mysql_error());

正如您所看到的,我必须手动列出 $arrBrands 中保存的数组的元素。问题是该数组最多可以有 500 个条目。

如何展开?数组,这样我就不必继续将其写出。

提前致谢

最佳答案

你可以尝试这样的事情......

$array = array('puma', 'adidas', 'nike', 'reebok');
$condition = implode("' LIKE CONCAT(brand_name, '%')) OR ('", $array);
$query = "SELECT * FROM brand WHERE (('$condition' LIKE CONCAT(brand_name, '%')));";

// SELECT * FROM brand WHERE (('puma' LIKE CONCAT(brand_name, '%')) OR ('adidas' LIKE CONCAT(brand_name, '%')) OR ('nike' LIKE CONCAT(brand_name, '%')) OR ('reebok' LIKE CONCAT(brand_name, '%')))

<强> Codepad

关于php - 在 mysql 中使用 LIKE CONCAT 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com