gpt4 book ai didi

php - 有没有更有效的方法来压缩这些mysql查询?

转载 作者:行者123 更新时间:2023-11-29 19:20:25 24 4
gpt4 key购买 nike

假设我想从同一个表中获取 100 个不同的用户,我将必须创建 100 个不同的查询,如下所示。我只展示了三个查询作为示例,但您明白我的意思。

我想知道是否有一种更有效的方法可以从同一张表中获取尽可能多的用户?重要的是,我需要让每个用户都有自己独特的句柄。例如。 $matrix_user_id_2、$matrix_user_id_3、$matrix_user_id_4。我怎样才能继续这样做呢?

$find_sponsor_2 = $db->prepare("SELECT user_id, filled_positions FROM matrix_2 WHERE user_id = :user_id");
$find_sponsor_2->bindValue(':user_id', 2);
$find_sponsor_2->execute();
$result_sponsor_2 = $find_sponsor_2->fetchAll(PDO::FETCH_ASSOC);
if(count($result_sponsor_2) > 0) {
foreach($result_sponsor_2 as $row) {
$matrix_user_id_2 = $row['user_id'];
$filled_positions_2 = $row['filled_positions'];
}
} else {
$errors[] = 'User Id 2 not found in Matrix.';
}

$find_sponsor_3 = $db->prepare("SELECT user_id, filled_positions FROM matrix_2 WHERE user_id = :user_id");
$find_sponsor_3->bindValue(':user_id', 3);
$find_sponsor_3->execute();
$result_sponsor_3 = $find_sponsor_3->fetchAll(PDO::FETCH_ASSOC);
if(count($result_sponsor_3) > 0) {
foreach($result_sponsor_3 as $row) {
$matrix_user_id_3 = $row['user_id'];
$filled_positions_3 = $row['filled_positions'];
}
} else {
$errors[] = 'User Id 3 not found in Matrix.';
}

$find_sponsor_4 = $db->prepare("SELECT user_id, filled_positions FROM matrix_2 WHERE user_id = :user_id");
$find_sponsor_4->bindValue(':user_id', 4);
$find_sponsor_4->execute();
$result_sponsor_4 = $find_sponsor_4->fetchAll(PDO::FETCH_ASSOC);
if(count($result_sponsor_4) > 0) {
foreach($result_sponsor_4 as $row) {
$matrix_user_id_4 = $row['user_id'];
$filled_positions_4 = $row['filled_positions'];
}
} else {
$errors[] = 'User Id 4 not found in Matrix.';
}

最佳答案

您可以使用 1 个查询获取所有信息。你为什么不这样做呢?

 SELECT user_id, filled_positions FROM matrix_2 WHERE user_id in (2,3,4) // your ids here

然后您可以迭代结果集以检查哪一个存在,哪一个不存在。

关于php - 有没有更有效的方法来压缩这些mysql查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42480229/

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