我的PHP代码是:
$q = $db->query("SELECT username FROM users LIMIT 3");
$users = array();
while($row = $db->fetchAll($q))
{
$users[] = $row;
}
foreach($users as $user)
{
echo $user['username'].'<br>';
}
,输出将是
Nilsen
Michael
Sam
是否可以在不启动foreach的情况下将输出格式更改为Nilsen,Michael,Sam
?
请问好吗?
谢谢。
答案 0 :(得分:2)
while($row = $db->fetchAll($q)) // fetchAll is wired here, but since you get the result, asume that's right
{
$users[] = $row['username'];
}
然后使用:
echo join(',' $users);
答案 1 :(得分:1)
你可以使用GROUP_CONCAT()
并且在php端不需要循环。
SELECT GROUP_CONCAT(username) user_name FROM users LIMIT 3
答案 2 :(得分:0)
$q = $db->query("SELECT username FROM users LIMIT 3");
while($row = $db->fetchAll($q))
{
print_r($row);
}
或
echo $row[0], $row[1], $row[2];
我不建议将其用于制作,仅用于检查/调试..
答案 3 :(得分:0)
主要用于调试,您可以这样使用:
$q = $db->query("SELECT username FROM users LIMIT 3");
while($row = $db->fetchAll($q))
{
print_r($row); // or below
var_dump($row);
}
var_dump()
函数显示有关变量/表达式的结构化信息,包括其类型和值。递归地探索数组,其中值缩进以显示结构。它还显示哪些数组值和对象属性是引用。
print_r()
以人类可读的方式显示有关变量的信息。数组值将以显示键和元素的格式显示。类似的符号用于对象。
答案 4 :(得分:0)
你是说这个吗?
$stmt = $db->query('SELECT username FROM users LIMIT 3');
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
$users = array_map(function($row) {
return $row['username'];
}, $rows);
print_r($users);