我有以下代码
<?php $data8 = $db->query("SELECT group_concat(distinct column_name)
FROM information_schema.columns
WHERE table_name='tablename'")->fetch_assoc();
print_r($data8); ?>
返回
Array ( [group_concat(distinct column_name)] => column1,column2,column3)
然后使用
<?php
$SavedNotes8= implode(" ",$data8);
print_r($SavedNotes8);
?>
它返回
column1,column2,column3
似乎数组中的所有列名称都被视为单个项目,因此implode
无法检测到分隔单独项目的逗号。
他们为什么这样合并?
(旁边问题:如何在数组开头摆脱[group_concat(distinct column_name)] =>
?)
谢谢!
答案 0 :(得分:0)
您告诉Mysql通过concat命令将这些列名转换为字符串。
我会这样做以获取所有列名称:
SELECT column_name FROM information_schema.columns
WHERE table_name='tablename';
在这种情况下,你不需要连接东西。
编辑:
您也不需要使用&#34; distinct&#34; (如Magnus Eriksson所示)因为表中的列名永远是唯一的。