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
下的NAME和users
下的NAME,但是当我使用$row['NAME'];
时,我会在users
下获得NAME。有没有办法让companies
下的那个?我试过$ row ['companies.NAME'],但没有成功。
答案 0 :(得分:5)
您需要使用别名,因为两个表中的列名相同。
示例:强>
SELECT companies.name as cName, users.name as uName FROM companies .......
比使用:
$row['cName'] // company name
$row['uName'] // user name
答案 1 :(得分:3)
如果您使用PDO
,可以:
$pdo->setAttribute(PDO::ATTR_FETCH_TABLE_NAMES, 1);
来自文档(http://www.php.net/manual/en/pdo.constants.php):
将包含的表名添加到结果集中返回的每个列名。表名和列名由小数(。)字符分隔。支持此属性是在驱动程序级别;你的司机可能不支持它。