gpt4 book ai didi

php - 使用 mysql 执行许多查询是否可以,还是我应该寻求优化?

转载 作者:行者123 更新时间:2023-11-30 22:24:41 24 4
gpt4 key购买 nike

我对编程还比较陌生,一直在一个项目组中工作,以创建我们的第一个合适的网站。我们有产品和一个页面,我们希望根据选择的类别显示多个这些产品。

$productlist = new ProductList($DB_con, htmlspecialchars($_POST['categoryID'])); 
$productids = $productlist->getids();
$product = new Product($DB_con);
foreach ($productids as $id) {
$product->read($id);
echo $product->productname
}

现在这只是我正在谈论的一个基本示例,但本质上 foreach 循环会迭代 read($id) 多次,这意味着它本质上会对每个产品执行查询。现在我的问题是,这是否真的是可以接受的方法,或者我是否应该执行一个查询并以某种方式从该查询中获取数据(或任何其他替代方法)。

最佳答案

这可能是一个 SQL WHERE IN 的工作。如果你有一个 ID 数组,你可以简单地运行:

SELECT * FROM products WHERE id IN (1, 2, 3, 4, 5, n...)

您可以使用以下方法生成数字:

$ids = implode(", ", $productids);

$sql = "SELECT * FROM products WHERE id IN ({$ids})";

关于php - 使用 mysql 执行许多查询是否可以,还是我应该寻求优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35615346/

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