gpt4 book ai didi

MySQL 连接 : strings not returning

转载 作者:行者123 更新时间:2023-11-29 14:57:27 25 4
gpt4 key购买 nike

我正在使用这个 MySQL 查询,由 MySQL 调用:

从 tf_threads LEFT JOIN tf_posts ON tf_threads.thread_id=54 中选择 tf_posts.*、tf_threads.thread_id

当我使用mysql_fetch_array时,我得到一个充满每个字段的数组,但这些字段的实际值确实表现得非常奇怪......

任何数字或日期字段都可以正常返回;我可以在数组中使用它们。然而,任何文本字段都是空的。返回的数组的原始形式如下所示:

Array(    [0] =>     [id] =>     [1] =>     [thread_id] => 820515612    [2] =>     [poster_id] =>     [3] =>     [title] =>     [4] =>     [body] =>     [5] =>     [date] =>     [6] =>     [edit_date] =>     [7] =>     [edited] =>     [8] =>     [draft] =>     [9] =>     [spam] =>     [10] => 820515612)

忽略这里的数字索引 - 我对命名的索引感兴趣。字段 bodytitle 是文本字段 (CHAR()),显然没有在应有的时候显示。

我在这里做错了什么或错过了什么?是因为我使用的是 CHAR() 吗?我强烈怀疑这一点,但我不太擅长 MySQL。

编辑:

此查询的想法是从一个表 (tf_threads) 中选择所有线程,并从另一个表 (tf_posts) 中获取该线程下的第一篇帖子,并使用 posts title 字段作为标题对于线程。

谢谢

詹姆斯

最佳答案

你的连接子句对我来说没有意义。看起来您正在尝试获取 thread_id 54 的所有帖子,但您没有加入这两个表,并且除了 thread_id 之外,您没有从 tf_threads 表中获取任何数据,我认为它也存在于您的 tf_posts 中 table 。为什么不直接使用 WHERE 子句:

SELECT * FROM tf_posts WHERE thread_id = 54

如果这不起作用,请发布您的表描述以及查询应返回的内容。

要回答您的编辑,您需要实际连接表,如果您只想要一个帖子,则使用 INNER JOIN - LEFT JOIN 将为您提供每个线程的所有帖子。

SELECT tf_threads.*, tf_posts.* FROM tf_threads INNER JOIN tf_posts
ON tf_threads.thread_id = tf_posts.thread_id
ORDER BY tf_posts.date ASC

这应该为您提供所有主题以及每个主题的第一篇文章(由日期列确定)。

关于MySQL 连接 : strings not returning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4232791/

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