Zac*_*nes 4 php mysql sql select
我正在尝试创建一个函数来查询数据库并输出数组中的所有结果.由于某种原因,它只显示一个结果.
这是功能
function reguser_list() {
$query = mysql_query("SELECT `user_name` FROM `users` WHERE `active` = 1");
$reguser_names = mysql_fetch_assoc($query);
$list_names = implode(', ', $reguser_names);
echo $reguser_names;
}
Run Code Online (Sandbox Code Playgroud)
目前数据库中有2个用户处于活动状态,但这只显示一个名称,如何让它同时显示?
你需要迭代结果mysql_query,例如.
while ($row = mysql_fetch_assoc($result))
{
echo $row['user_name'];
}
Run Code Online (Sandbox Code Playgroud)
因为我看到你想通过用逗号分隔结果来连接结果,你可以直接在MySQL购买时使用GROUP_CONCAT()
SELECT GROUP_CONCAT(user_name) as UserName FROM users WHERE active = 1
Run Code Online (Sandbox Code Playgroud)
在PHP,
$query = mysql_query("SELECT GROUP_CONCAT(user_name) as UserName FROM users WHERE active = 1");
$reguser_names = mysql_fetch_assoc($query);
$list_names = $reguser_names['UserName'];
Run Code Online (Sandbox Code Playgroud)
GROUP_CONCAT()的默认限制是1024.
如果要更改变量的值,则语法为:
SET [GLOBAL | SESSION] group_concat_max_len = val;
// where val is an unsigned integer
Run Code Online (Sandbox Code Playgroud)