Php 从内部联接不明确的列名检索列数据

Php 从内部联接不明确的列名检索列数据,php,mysql,join,Php,Mysql,Join,我有一段代码,它使用编程生成的查询对11个表的连接执行大约30-40列的搜索,因此自然代理键可以出现几次。 然后,搜索结果按tbl_sub_model.sub_model_sk分组,以防止在最终搜索结果屏幕中出现双重重叠,我可以从相关表(大多数是一对多)检索数据 这里的代码应该在分组结果中循环,检索与该子模型关联的任何徽章字段,将徽章连接到一个字符串中,并在make和model之后回显它们,例如“subaru forrester xs ltd” 我得到了make和model,但在A点没有其他东西

我有一段代码,它使用编程生成的查询对11个表的连接执行大约30-40列的搜索,因此自然代理键可以出现几次。 然后,搜索结果按tbl_sub_model.sub_model_sk分组,以防止在最终搜索结果屏幕中出现双重重叠,我可以从相关表(大多数是一对多)检索数据

这里的代码应该在分组结果中循环,检索与该子模型关联的任何徽章字段,将徽章连接到一个字符串中,并在make和model之后回显它们,例如“subaru forrester xs ltd” 我得到了make和model,但在A点没有其他东西,在B点也没有。我怀疑这与我指的是“tbl_sub_model.sub_model_sk”而不是“model_name”有关。任何帮助都将不胜感激

while ($row = mysql_fetch_array($result)) {
            $badge_result_list = mysql_query("select badge from tbl_badge where sub_model_sk = {$row['tbl_sub_model.sub_model_sk']}");
            $badge_str='';
            while ($badge_result = mysql_fetch_array($badge_result_list)) {
                $badge_str.=$badge_result;
            }
            echo $row['tbl_sub_model.sub_model_sk'];  //<<<<<point B
            echo "<div class=\"top\" rel=\"{$div_count_id}\">{$row['manufacturer_name']} {$row['model_name']} {$badge_str}</div>";  //<<<<<point A
            echo "<div class=\"mid\" id=\"mid{$div_count_id}\" style=\"display: none;\">";
            echo $row['tbl_sub_model.sub_model_sk'];
            echo "</div>";

            $div_count_id++;
        }
while($row=mysql\u fetch\u array($result)){
$badge_result_list=mysql_query(“从tbl_badge中选择badge,其中sub_model_sk={$row['tbl_sub_model.sub_model_sk']);
$badge_str='';
而($badge\u result=mysql\u fetch\u数组($badge\u result\u list)){
$badge_str.=$badge_结果;
}

echo$row['tbl_sub_model.sub_model_sk'];//使用print\r($row);要查看查询中有哪些行可用,您就知道使用什么键来获取所需信息。

php没有“连接”的概念-这是一个SQL问题,您的查询中不会有任何联接。请阅读本教程中有关联接的内容,不要为新代码使用
mysql.*
函数。它们不再被维护,社区已经开始运行。请参阅?相反,您应该了解并使用or。如果您不能决定,将帮助您选择。如果您愿意,请参阅我知道php不做连接,如果这是你的意思,$result数组来自select*from tbl_sub_model内部连接tbl_model上的tbl_model。model_sk=tbl_model.model_sk内部连接tbl_model上的制造商查找。manufacturer_sk=tbl_制造商查找。manufacturer_sk左连接tbl_sub_model上的制造商查找功能_feature.sub_model_sk=tbl_sub_model.sub_model_sk………其中UPPER(tbl_sub_model.sub_model_sk)如“%SUBA%”或UPPER(tbl_sub_model.oldid)如“%SUBA%”或UPPER(tbl_sub_model.variant)如“%SUBA%”按tbl_sub_model.sub_model.sub_model.skok分组,那么我得到了什么?数组([0]=>89[sub_model_sk]>89]=>SFRST97AB[2]=>584[型号sk]=>584[3]=>[gen sk]=>[4]=>1997[子型号年份]=>1997年”打印在每个记录下的页面上,sub_model_sk在开始时只出现一次,尽管我的查询是select*from…internal join…将相同的查询放入mysql workbench会返回多个sub_model_sk。php是否足够聪明,可以编辑出重复?关联数组不能有两个具有相同键的元素。和
mysql_fetch_array
仅使用非限定列名作为键。您应该使用列别名以确保名称唯一。