gpt4 book ai didi

PHP while 重复返回相同的结果

转载 作者:搜寻专家 更新时间:2023-10-30 22:00:34 25 4
gpt4 key购买 nike

在我的本地 xampp 上运行 while 脚本时,它一遍又一遍地返回相同的结果,这是我正在使用的 PHP:

<?php
$id = $_GET['id'];
$getmembers = mysql_query("SELECT * FROM group_memberships WHERE groupid = $id LIMIT 10");
$getids = mysql_fetch_assoc($getmembers);
while($id = $getids['userid']){
$getusers = mysql_fetch_assoc(mysql_query("SELECT look, username FROM users WHERE id = '$id'"));
echo ($getusers['username']);
echo('<br />');
}
?>

我执行时得到的是:http://prntscr.com/12nh6g我的数据库包含 4 个注册到该组的不同用户。我不确定如何在 MySQL 中连接表,因为我不知道该怎么做。

如果我添加一个中断;然后它只返回一个结果,而不是超时。

非常感谢任何帮助!

另外,对于 PHP 的困惑,我很抱歉,我是新手。

最佳答案

while($id = $getids['userid']){ #This condition will always be true.

在如下循环中使用您的 mysql_fetch_assoc 语句。

while ($getids = mysql_fetch_assoc($getmembers)) {
$id = $getids['userid']
$getusers = mysql_fetch_assoc(mysql_query("SELECT look, username FROM users WHERE id = '$id'"));
echo $getusers['username'];
echo '<br />';
}

对于子查询可以试试,

SELECT look, username FROM users
WHERE id IN
(SELECT userId FROM group_memberships
WHERE groupid = $id
LIMIT 10)

使用加入

SELECT u.look,u.username
FROM users as u
LEFT JOIN group_memberships as gm
on gm.userId = u.id
WHERE gm.groupid = $id
LIMIT 10

注意: Please, don't use mysql_* functions in new code .它们不再维护 and are officially deprecated .查看red box ?了解 prepared statements相反,并使用 PDO , 或 MySQLi - this article将帮助您决定选择哪个。如果选择 PDO,here is a good tutorial .

关于PHP while 重复返回相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16274819/

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