gpt4 book ai didi

php - 获取 GROUP_CONCAT 值作为单独的值

转载 作者:行者123 更新时间:2023-11-29 04:58:04 24 4
gpt4 key购买 nike

我正在尝试实现一个简单的标记系统(在 php 中乱搞)...

我使用以下 sql 命令来获取所需的线程、它的作者和与之关联的标签:

$thread = select_Query("SELECT thread.title, thread.id as t_id,
thread.content, author.username, author.id as a_id,
GROUP_CONCAT(DISTINCT tags.name ORDER BY tags.name DESC SEPARATOR ',') AS tags
FROM thread JOIN thread_tags ON thread.id = thread_tags.thread_id
JOIN tags ON thread_tags.tag_id = tags.id
INNER JOIN author on author.id = thread.author_id
WHERE thread.id = $id", $link);

如您所见,我正在使用 GROUP_CONCAT。这工作正常,但是当我这样做时,标签都出现在一个变量中,我知道我可以使用 $pieces = explode(",", $thread['tags]);但是还有另一种方法吗?我问这个是因为标签很容易分开,但是如果它是更复杂的东西(例如包含定界符 , 的东西)。

我的数据库架构如下:

thread: id, content, title, author_id

thread_tags: id, tag_id, thread_id

tags: id, name

最佳答案

您可以将 GROUP_CONCAT 使用的分隔符更改为不会出现在标记中的内容,例如“|”性格。

GROUP_CONCAT(DISTINCT tags.name ORDER BY tags.name DESC SEPARATOR '|')

您还可以验证标记字段并确保它不包含分隔符。

关于php - 获取 GROUP_CONCAT 值作为单独的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4631100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com