我正在尝试使用内部联接执行sql查询...代码如下...第1部分工作正常..它正在动态创建$ query_adlist的值。 但是当我在第2部分中使用此变量$ query_adlist时,它不会获取结果。
第1部分。
$query_adlist="";
$ad_list_countx=mysql_query("SELECT COUNT(ads_id) FROM ads WHERE id=$id");
if($ad_list_countx){$ad_list_count=mysql_fetch_row($ad_list_countx);}
if(isset($ad_list_count) && $ad_list_count[0] > 0)
{
$query_adlist .="&& (";
$query_ad_listx=mysql_query("SELECT ads_id FROM ads WHERE id=$id");
if(isset($query_ad_listx))
{
$sign=" || ";
$count=1;
while($query_ad_list=mysql_fetch_array($query_ad_listx))
{ if($ad_list_count[0] == $count){$sign=") &&";}
$query_adlist .="ad_clicks.ads_id=".$query_ad_list['ads_id'].$sign;
$count++;
}
}
}
while循环后该变量的值为
$query_adlist="&& (ad_clicks.ad_id=44 || ad_clicks.ad_id=43)";
第2部分。 当我执行第2部分中的代码时,它不会获取结果.. 但如果我输入ad_clicks.ad_id = 44 || ad_clicks.ad_id = 43而不是变量$ query_adlist,它取结果..我很困惑。我做错了什么。
$daily_clickx1=mysql_query("
SELECT COUNT(ad_clicks.ad_id) FROM ad_clicks
INNER JOIN members ON ad_clicks.id=members.id
WHERE members.ref_id1=$id
&& ad_clicks.date='$date_modified' $query_adlist
");
答案 0 :(得分:0)
嗯,这是我的错误......列名错了..我后来想通了。 列名ads_id实际上是ad_id