如果我做错了什么,请纠正我。我想从表中获取数据并将其用作数组:
$InRating = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'seller_review` WHERE `id_seller` = '.$value['id_seller']);
但是“$value['id\u seller']”的结果来自:
foreach ($SellerIn as $key => $value) {
$value['id_seller']
}
$sellerin-是对不同表的db查询
那么这样做是否正确:
foreach ($SellerIn as $key => $value) {
$value['id_seller']
$InRating = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'seller_review` WHERE `id_seller` = '.$value['id_seller']);
}
2条答案
按热度按时间fzsnzjdm1#
这听起来是正确的,但它将对中的每个元素进行sql查询
$SellerIn
-可能会很慢:更好的解决方案是进行1次查询和检查
id_seller
与IN
:xytpbqjk2#
这是有可能的,但这对表演真的不好。如果你有你的网站流量大,你会想击中数据库尽可能少。
所以为了优化这样的情况,你可以用where in。
像这样:
编辑:你这么说的
$sellerin-是对不同表的db查询
因此,您可以将这两个查询混合到一个查询中