0

我的 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

是否可以将我的输出格式更改为Nilsen,Michael,Sam没有 start foreach ?

请问有什么想法吗?

谢谢你。

4

5 回答 5

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);
于 2013-05-19T02:48:19.053 回答
1

您可以GROUP_CONCAT()在 php 端使用并且不需要循环。

SELECT GROUP_CONCAT(username) user_name FROM users LIMIT 3
于 2013-05-19T02:47:47.053 回答
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]; 

不过,我不建议将其用于生产,仅用于检查/调试..

于 2013-05-19T02:53:01.160 回答
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()方式显示有关变量的信息。数组值将以显示键和元素的格式呈现。类似的符号用于对象。

于 2013-05-19T02:59:20.730 回答
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);
于 2013-05-19T04:19:54.277 回答