繁体   English   中英

使用where子句PHP / MYSql(SQL联接)后,未从第二个表中获取数据

[英]Data not fetched from second table after using where clause PHP/MYSql (SQL Joins)

我的SQL查询是使用基于广告ID的联接返回标题,日期从一个表和图像名称从另一个表。

这是相同的,它可以完美工作并从表1中获取所有数据标题,日期和表2中的图像名称。

SELECT wordpresswp_awpcp_ads.ad_title,  
wordpresswp_awpcp_ads.ad_id,wordpresswp_awpcp_ads.ad_postdate,
wordpresswp_awpcp_media.name FROM wordpresswp_awpcp_ads 
LEFT OUTER JOIN wordpresswp_awpcp_media on wordpresswp_awpcp_ads.ad_id = wordpresswp_awpcp_media.ad_id 

现在进行字母查询,即以A,B开头的展示广告...。我通过了网址查询,并将查询重写为

SELECT wordpresswp_awpcp_ads.ad_title, wordpresswp_awpcp_ads.ad_id, 
wordpresswp_awpcp_ads.ad_postdate,wordpresswp_awpcp_media.name FROM wordpresswp_awpcp_ads 
LEFT OUTER JOIN wordpresswp_awpcp_media on wordpresswp_awpcp_ads.ad_id = wordpresswp_awpcp_media.ad_id 
WHERE (wordpresswp_awpcp_ads.ad_title LIKE '$directory%' )

$ directory采用从URL传递的字母。 通过此查询,我能够从表1中获取数据,即标题名称和日期,而无法从联接表中获取数据,即从表2中获取图像名称。

任何帮助,将不胜感激。

尝试这个

SELECT wordpresswp_awpcp_ads.ad_title, wordpresswp_awpcp_ads.ad_id,  
   wordpresswp_awpcp_ads.ad_postdate,wordpresswp_awpcp_media.name   
FROM wordpresswp_awpcp_ads 
INNER JOIN wordpresswp_awpcp_media   
ON wordpresswp_awpcp_ads.ad_id = wordpresswp_awpcp_media.ad_id 
WHERE (wordpresswp_awpcp_ads.ad_title LIKE '$directory%' )

您的问题尚不清楚,但我想您已进入经典之列。

当您添加有关左联接表的where条件时,您将仅获得具有左联接的行。 因此,请确保您没有针对wordpresswp_awpcp_media创建where -condition。

我认为php变量在单个comm(')中,这是问题所在,请尝试

SELECT wordpresswp_awpcp_ads.ad_title, wordpresswp_awpcp_ads.ad_id, 
wordpresswp_awpcp_ads.ad_postdate,wordpresswp_awpcp_media.name FROM wordpresswp_awpcp_ads 
LEFT OUTER JOIN wordpresswp_awpcp_media on wordpresswp_awpcp_ads.ad_id = wordpresswp_awpcp_media.ad_id 
WHERE (wordpresswp_awpcp_ads.ad_title LIKE "$directory%" )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM