我正在使用以下查询来连接两个表。表 gz_topics 包含页面 Title 和 Subtitle 等基本信息,而每个页面的文章存储在表 gz_articles_topics_intro 中。GZ.URL 实际上是一个与每个页面的 URL 匹配的变量,但我在这里使用“Birds”作为示例。
$Zext = mysql_fetch_assoc(mysql_query("SELECT GZ.N, GZ.URL, GZ.Title, GZ.Live,
AI.URL, AI.Article, AI.Pagedex
FROM gz_topics GZ
LEFT JOIN gz_articles_topics_intro AI ON AI.URL = GZ.URL
WHERE GZ.URL LIKE 'Birds' AND GZ.Live = 1"));
它工作正常。当我将我的文章放在三个单独的表格中并尝试加入它们时,问题就开始了......
$Zext = mysql_fetch_assoc(mysql_query("SELECT GZ.N, GZ.URL, GZ.Title, GZ.Live,
Art.URL, Art.Article, Art.Pagedex,
AI.URL, AI.Article, AI.Pagedex, AN.URL, AN.Article, AN.Pagedex
FROM gz_topics GZ
LEFT JOIN gz_articles_topics Art ON Art.URL = GZ.URL
LEFT JOIN gz_articles_topics_intro AI ON AI.URL = GZ.URL
LEFT JOIN gz_articles_topics_names AN ON AN.URL = GZ.URL
WHERE GZ.URL LIKE '$MyURL' AND GZ.Live = 1"));
当我将它粘贴到 SQL 中时,它工作得很好,显示了所有数据,包括文章。但是我的页面上没有显示任何值。
这是我用来显示文章的代码:
$Article = $Zext['Article'];
echo $Article;
我尝试过内部连接和外部连接、while 循环等,但似乎没有任何效果。我的 PHP/MySQL 技能处于中等水平,我不知道问题出在哪里,因为正如我所说,当我将它粘贴到 SQL 时它工作正常,而且我没有看到任何错误消息。
问题一定就在我的眼皮底下,因为这看起来很简单——即使对我来说也是如此。;)
感谢您的任何提示。
编辑时:我修复了一个错误,我的查询现在显示表 gz_topics 中的项目,例如页面标题。但是,它仍然不显示文章。