gpt4 book ai didi

php - 优化我的循环以返回而不是执行 10 次查询

转载 作者:行者123 更新时间:2023-11-29 10:39:13 25 4
gpt4 key购买 nike

我在以下变量的数组中返回了有限数量的学生 (10),

$result 变量是一个数组,它包含学生 ID,如下例所示

Array ( 
[student1] => 4
[student2] => 1
[student3] => 3
[student4] => 2
[student5] => 5
[student6] => 10
[student7] => 12
[student8] => 16
[student9] => 17
[student10] => 18
)

我尝试过的

$values = implode(", ", $result);
$sql = "SELECT sub1, sub2 FROM students WHERE students.id IN (" . $values . ")";

try{
$db = new db();
$db = $db->connect();
$stmt = $db->query($sql);

$subject = $stmt->fetchAll(PDO::FETCH_OBJ);

$db = null;
if(empty($subject)) {
$response->getBody()->write
('{"error":{"message":"Invalid Request}}');
} else {
$subject = json_decode(json_encode($subject), True);
if (in_array("BIO", $subject))
{
return true;
}
else
{
return false;
}
print_r($subject);
}
} catch(PDOException $e) {}

我确定如何在一个查询中优化我的查询,而不是循环 10 个查询

最佳答案

如果你想一次查询,你可以发出这样的请求:

$values = implode(", ", $result);
$sql = "SELECT sub1, sub2 FROM students WHERE students.id IN (" . $values . ")";

这将通过一个请求返回您的所有学生

编辑:删除了 foreach,谢谢不要 panic

关于php - 优化我的循环以返回而不是执行 10 次查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45842680/

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