Php 为什么我不能显示来自四个联接表的数据?

Php 为什么我不能显示来自四个联接表的数据?,php,mysql,Php,Mysql,我使用以下查询连接两个表。表gz_topics包含基本信息,如页面标题和副标题,而每个页面的文章存储在表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

我使用以下查询连接两个表。表gz_topics包含基本信息,如页面标题和副标题,而每个页面的文章存储在表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_主题的项目,如页面标题。但是,它仍然不会显示文章。

问题1您有三列与文章同名

艺术,文章,人工智能,文章,文章

您可以这样重命名它们:

第条作为第1条,AI.条作为第2条,AN.条作为第3条

然后您可以使用适当的列1、列2或列3:

$Article=$Zext['Article1']

问题2如果内容是纯文本而不是HTML,则应转义输出:


echo$Article

为了确保显示某些内容,我想我应该这样做,对吗$第1条=$Zext[“第1条]$第2条=$Zext[“第2条]$第3条=$Zext[“第3条];第1条;第2条;第3条;