将group_concat数据作为数组返回

时间:2012-07-31 16:45:29

标签: php mysql

我想使用group_concat作为数据数组返回从db检索的值。是否可以在mysql查询中执行此操作?或者我是否需要将数据分解为数组?

GROUP_CONCAT(sh.hold_id) as holds

返回此

[holds] => 3,4

我希望它返回:

[holds] => array(3,4)

3 个答案:

答案 0 :(得分:12)

正如我在评论中所说:你需要使用这样的PHP代码将数据分解为数组:

$holds = explode(',', $holds);

因为mysql没有数据类型的概念。

答案 1 :(得分:3)

MySQL没有数组的概念。因此它无法返回数组。由你的处理代码(这里是php脚本)将连接的符号转换为php数组。

答案 2 :(得分:0)

如果您需要在MySQL级别执行此操作,则可能将其解析为一个对象。 您可以执行以下操作

SELECT CONCAT("[", GROUP_CONCAT(category.name), "]") AS categories
From categories