mysql+php外键显示数据

mysql+php外键显示数据,php,mysql,foreign-keys,Php,Mysql,Foreign Keys,我有五张桌子 advertisingcompany Table id PK name placement Table id PK name advertiser Table id PK name location Table id PK name ads Table ad_id PK size price advertisingcompanyId FG placementId FG advertiserId FG locatio

我有五张桌子

advertisingcompany Table id PK name placement Table id PK name advertiser Table id PK name location Table id PK name ads Table ad_id PK size price advertisingcompanyId FG placementId FG advertiserId FG locationId FG 这是我想要的数据的正确SQL查询吗?如果是,我如何才能添加到该查询中,我将获得所有外键的名称? 然后如何用php显示该数据? 谢谢

这是我想要的数据的正确SQL查询吗

如果是,我如何才能添加到该查询中,我将获得所有外键的名称

指定要选择并添加附加联接子句的名称列:

选择广告*, 广告公司名称为adco, placement.name作为placement 从广告加入广告公司。。。 在…上加入放置。。。 -等等。 请注意,如果某些外键可能为空,您可能希望使用

然后如何用php显示该数据

连接到MySQL,执行查询,然后在结果集上循环:

$dbh = new PDO("mysql:dbname=$dbname;charset=utf8", $username, $password);
$qry = $dbh->query($query);
while($row = $qry->fetch()) print_r($row);
请小心避免SQL注入攻击,方法是将用户输入作为参数传递到其中,而这些参数不会对SQL进行计算!如果你不知道我在说什么,读一读我的故事

$dbh = new PDO("mysql:dbname=$dbname;charset=utf8", $username, $password);
$qry = $dbh->query($query);
while($row = $qry->fetch()) print_r($row);
SELECT ad_id, size, price, 
       c.name as company_name, 
       p.name as placement_name, 
       a.name as advertiser_name, 
       locationId
FROM ads
INNER JOIN advertisingcompany c ON ads.advertisingcompanyId = c.id
INNER JOIN placement p ON ads.placementId = p.id
INNER JOIN advertiser a ON ads.advertiserId = a.id
WHERE ad_id = '$ad_id'