2013-07-09 115 views
-1

對於我的sql查詢,我有下面的錯誤。我一直在絞盡腦汁,似乎無法弄清楚。任何幫助表示讚賞。INNER JOIN語句上的SQL錯誤

Error: 
08-07-2013, 19:05:55: Database access error. Please contact the site administrator. SELECT * FROM realty_auctions WHERE id = 42962 INNER JOIN realty_agents ON realty_auctions.agentsid=realty_agents.agentsid; You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN realty_agents ON realty_auctions.agentsid=realty_agents.age' at line 3 page:/home/propoint/public_html/item.php line:567 

SQL查詢:

// get agent data 
$query = "SELECT * FROM " realty_auctions WHERE id = " . $id ." INNER JOIN realty_agents ON " realty_auctions.agentsid=realty_agents.agentsid; "; 
$result = mysql_query($query); 
$system->check_mysql($result, $query, __LINE__, __FILE__); 
$agent_data = mysql_fetch_assoc($result); 
echo $agent_data; 
+1

您是否犯了複製錯誤?您的引用使得無效的PHP語法, – Barmar

+0

不,這正是我的代碼。我很新,這是我嘗試創建的第一個完整功能。 – NUGGET

+0

你沒有從PHP獲得解析錯誤? 'realty_auctions WHERE id ='應該在雙引號字符串中。 – Barmar

回答

3

join必須出現在where

SELECT * 
FROM realty_auctions au 
INNER JOIN realty_agents ag ON au.agentsid = ag.agentsid 
WHERE au.id = $id 

而且,由於可能在兩個表有一個id專欄中,我建議用au.id明確命名的表。

+0

您的方法將返回Array的響應,而不是來自realty_agents的匹配agentsid表的數據。我想匹配我的房產列表,它有一列agentsid,並與具有相同id的另一個代理表匹配,因此應該分出姓名,電子郵件,公司和電話號碼。 – NUGGET

+0

'mysql_fetch_assoc()'返回一個關聯數組,其中鍵是查詢中的列名,值是列值。你不能'回顯'一個數組。使用'var_dump($ agent_data)'來查看內容。 – Barmar