如何附加多个数据库提取?

时间:2011-05-24 19:19:32

标签: php mysql

我想追加多个MYSQL数据库字段的内容,以便以逗号分隔。

 $customer_email    = db_unqq($customer_row['email']);

但我有5个不同电子邮件的字段。理想情况下$customer_email将是

$customer_email =
(
db_unqq($customer_row['email1']);
db_unqq($customer_row['email2']);
db_unqq($customer_row['email3']);
db_unqq($customer_row['email4']);
db_unqq($customer_row['email5']);
)

但每个用逗号分隔(因此可以将它们作为电子邮件发送)

2 个答案:

答案 0 :(得分:3)

您可以使用group_concat()在服务器上执行此操作,但这是特定于MySQL的行为,默认情况下长度限制为1024个字符。

SELECT ..., GROUP_CONCAT(email)
FROM ...
WHERE ...
GROUP BY userID

这假定电子邮件存储在您正在加入的单独表格中。

答案 1 :(得分:0)

我认为你的电子邮件在一个表格中,正如你所说的多个字段。 他们真的应该在一个单独的表中。这将允许Marc B的回答 上班。您还可以将CONCAT_WS与当前架构一起使用。

Select CONCAT_WS(',', email1, email2, etc..)
FROM...
WHERE ...

我仍然建议您使用单独的表为您提供更大的灵活性,使您可以更轻松地在代码中处理它而无需使用自定义sql函数