将MYSQL查询结果粘贴到以逗号分隔的字符串中

时间:2011-03-25 23:04:44

标签: php mysql prepared-statement

我正在进行的第一个查询是针对与用户相关的所有Id:

$DBH = getDBH();
$stmt = $DBH->prepare("SELECT id FROM list WHERE user = ?");
$stmt->bind_param("s",$userid);
$stmt->execute();
$stmt->bind_result($ids);
$stmt->fetch();
$stmt->close();
目前存储在表中的

如下:

ID            user

1             example
4             example
7             example
15            example

在查询之前不知道id,并且与用户关联的id的数量将不断增长和缩小。

所以我的问题是如何查询这些id并将它们粘贴到一个字符串中,每个id用逗号分隔

例如: 1,4,7,15等等。

编辑:使用GROUP CONCAT()

$stmt = $DBH->prepare("SELECT GROUP_CONCAT(id) as id FROM list WHERE user = ? GROUP BY id");
$stmt->bind_param("s",$userid);
$stmt->execute();
$stmt->bind_result($id);

1 个答案:

答案 0 :(得分:1)

看看group_concat()函数

请注意,字符串可以采用的最大长度由group_concat_max_len()变量指定,默认情况下为1024个字符。

您可以通过此查询查看您的

show variables like 'group%'