2016-02-25 79 views
1
SELECT * 
    FROM companies 
    LEFT JOIN (ownership_reseller_to_company, users) 
    ON (users.ID=ownership_reseller_to_company.RESELLER_ID AND ownership_reseller_to_company.COMPANY_ID=companies.ID) 
    WHERE companies.NAME LIKE '%".$search_parm."%' AND users.ID='".$_USERID."' 

我的問題是我有companies下和名稱users下,但是當我使用$row['NAME'];users下獲得的名稱。有沒有辦法根據companies得到一個?我試過$ row ['companies.NAME']但沒有成功。獲得價值有相同的列名

+1

也許給他們單獨的別名? – Maximus2012

+1

您將不得不改變'SELECT'語句並使用單獨的別名。 – Maximus2012

回答

5

您需要使用別名,因爲列名在兩個表中都是相同的。

例子:

SELECT companies.name as cName, users.name as uName FROM companies ....... 

不是使用這樣的:

$row['cName'] // company name 
$row['uName'] // user name 
+0

謝謝!我不知道你可以在MySQL中做別名。 –

+1

別名用作yur的替代名稱mysql查詢@ frank-thornton – devpro

3

如果你正在使用PDO您可以:

$pdo->setAttribute(PDO::ATTR_FETCH_TABLE_NAMES, 1); 


來自文檔(http://www.php.net/manual/en/pdo.constants.php):

將包含的表名添加到結果集中返回的每個列名中。表名和列名用十進制(。)字符分隔。該屬性的支持位於驅動程序級別;它可能不被你的驅動程序支持。

+1

爲PDO建議投票... :) – devpro

+2

@devpro謝謝,'PDO'是PHP提供的最好的數據庫擴展,用於提供像這樣的設置,imho;) –