首页 > 解决方案 > 当我使用内部连接关键字时得到错误的数据

问题描述

我对 MySQL 查询有疑问,我想获取与同一个 FK 关联的所有行。代码是:

$idad =(int)$_GET['id'];// I am using this to get the id of ad from the url of page
$sql = 'SELECT * FROM ads INNER JOIN cars ON cars.ad_id="'.$idad.'"
                 INNER JOIN address ON address.ad_id="'.$idad.'" ';

我只得到了 ads 表的错误结果,它返回了错误的 ad_id 行。但是对于地址和汽车,我得到了正确的行。

标签: phpmysqlsql

解决方案


您必须将 ad_id 与其他表伪造密钥广告 id 映射。

$sql = SELECT * FROM ads 
       INNER JOIN cars ON cars.ad_id=ads.ad_id
       INNER JOIN address ON address.ad_id=ads.ad_id
       WHERE ads.ad_id = $idad

推荐阅读