gpt4 book ai didi

php - foreach 循环内的 Mysqli_query

转载 作者:行者123 更新时间:2023-11-29 07:32:12 27 4
gpt4 key购买 nike

我在 foreach 循环内部使用 mysqli_query 时遇到问题,我首先从表中获取一个字符串,然后将其分离到一个数组中。然后我尝试循环遍历数组并在循环内调用查询。

$langs_result = mysqli_query($con, "SELECT Languages FROM users WHERE Username = '$username'");

$row = mysqli_fetch_assoc($langs_result);

$langs = $row['Languages'];
$userLangs = str_replace(" ","",$langs);
$userLangs = explode(",",$langs);
print_r($userLangs);
$posts = array();

foreach($userLangs as $lang){
echo "$lang <br>";
$sql = "SELECT * FROM posts WHERE Language = '$lang'";
$getLangPosts = mysqli_query($con, $sql);
array_push($posts, mysqli_fetch_assoc($getLangPosts));
}

print_r($posts);

对于该用户,语言是德语、意大利语、丹麦语和英语,但 $posts 数组仅包含从第一种语言(德语)找到的第一篇帖子,有人可以帮忙吗?我正在尝试获取 $userLangs 数组中每种语言的所有帖子。

它正在经历 foreach 循环,因为回显的 $lang 变量每次都会发生变化,但查询仍然无法正常工作。

感谢您的帮助!

最佳答案

select posts.* from posts
left join users on users.language=posts.language
where users.username='your_desiredusername'
group by users.language;

只需尝试通过填写用户名将其作为单个查询运行无需多次查询

关于php - foreach 循环内的 Mysqli_query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32223725/

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