2016-01-11 44 views
-1

我有兩個數據庫,我試圖比較兩個表。我的代碼似乎沒有工作,不知道我做錯了什麼。左使用PDO的兩個數據庫之間的連接

這是代碼。

<?php 
include 'connection.php'; 
/* 
* This code compares between two tables 
*/ 

//SQL call 
$getData = $connection->prepare("SELECT `CustomerCity` FROM `auth` LEFT JOIN `tb_data.cobs.city` WHERE `CustomerCity` = `tb_data.cobs.city` LIMIT 3"); 
$getData->execute(); 
$gotData = $getData->fetchAll(PDO::FETCH_ASSOC); 
print_r($gotData); 

在我的數據庫中,我有兩個表,一個是玉米棒,另一個是tb_data。 tb_data有一個名爲cobs的表,auth是名爲d_data的數據庫中的一個表。這兩個表都有一個城市列。我需要獲得auth中的每個記錄,其中有一個城市與cobs表匹配。

+1

唐.cobs」只是說它不工作。說出發生了什麼以及與預期結果有何不同。你有錯誤嗎?如果是這樣,那麼錯誤是什麼?如果不是,'$ gotData'的價值是什麼? –

+1

什麼是tb_data.cobs.city? – Monty

+0

你的查詢錯誤,不清楚,這是什麼tb_data.cobs.city? –

回答

-1

查詢不正確,您需要指定表格authtb_data.cobs.city之間的鏈接。例如:

SELECT 
    * 
FROM 
    FOOTABLE FOO 
LEFT JOIN 
    BARTABLE BAR ON BAR.FOO_ID FOO.ID = -- here goes the link between them 
WHERE 
    ... 
0

其他人指出你的查詢是錯誤的,但沒有提供正確的答案。這是你很可能在尋找:

SELECT `auth.CustomerCity` FROM `auth` 
LEFT JOIN `tb_data.cobs` ON `tb_data.cobs.city` = `auth.CustomerCity` 
LIMIT 3 
0

看起來像查詢使用顯式連接語法的混合物過時的語法使用的連接條件的WHERE子句的加入。

如果是這樣嘗試: -

SELECT CustomerCity 
FROM auth 
LEFT JOIN tb_data.cobs 
ON auth.CustomerCity = cobs.city 
LIMIT 3 
0

試試這個:

選擇* .auth,*從權威性加入上auth.city棒子= cobs.city限3