簡體   English   中英

使用Left Outer Join-PDO從多個表中獲取數據

[英]Grab data from multiple tables using Left Outer Join - PDO

我正在嘗試使用LEFT OUTER JOIN連接到3個表。 我不確定我是否正確執行此操作。

表格是:費率,國家和服務類型

查詢:

$sql = "SELECT rates.rate_id, rates.initial_change, service_types.service, countries.country 
FROM rates 
LEFT OUTER JOIN service_types ON rates.service_id = service_types.serviceType_id 
LEFT OUTER JOIN countries ON rates.from_id = country.country_id 
LEFT OUTER JOIN countries ON rates.to_id = country.country_id 
ORDER BY service_types.serviceType_id ASC";
$statement = $con_db->exec($sql);
$result = $statement->fetchAll();//error points to this line

這是錯誤消息:

致命錯誤 :在非對象中調用成員函數fetchAll()

我注意到的一件事是您訪問表的方式不正確。 我猜SQL是無效的,它從exec返回null。 嘗試將查詢更改為此:

$sql = "SELECT rates.rate_id, rates.initial_change, service_types.service, countries1.country, countries2.country 
FROM rates 
LEFT OUTER JOIN service_types ON rates.service_id = service_types.serviceType_id 
LEFT OUTER JOIN countries as countries1 ON rates.from_id = countries1.country_id 
LEFT OUTER JOIN countries as countries2 ON rates.to_id = countries2.country_id 
ORDER BY service_types.serviceType_id ASC";

請注意,在聯接條件中,將國家/地區更改為country1和country2,並在選擇中更改了列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM