如果我有这样的SELECT语句:PHP/MySQL:如何在多个表中调用MySQL结果?
SELECT T1.TEXT, T2.FIELD FROM TABLE1 T1, TABLE2 T2 WHERE T1.ID = T2.ID
然后,我用的mysql_query使用它与mysql_fetch_object获取它。
我怎样才能访问现场? $ fetched-> T1.TEXT不工作...
求助THX
UPDATE 2013:这个问题是很老,但正确的,最简单的方式就是给每一个领域的别名select语句,所以它们是唯一的。示例:
SELECT T1.TEXT AS MYTEXT, T2.FIELD AS MYFIELD FROM TABLE1 T1, TABLE2 T2 WHERE T1.ID = T2.ID
PHP:
mysql_connect('host','user','pass');
mysql_select_db('mydb');
$resource = mysql_query(/* the query again */);
$firstrow = mysql_fetch_object($resource);
$text = $firstrow->MYTEXT;
$field = $firstrow->MYFIELD;
尝试$ fetched-> TEXT – cristian 2011-01-09 21:22:54
我认为它不会工作,因为如果我选择T1.TEXT和T2.TEXT,这将不起作用。 – 2011-01-09 21:24:01
为什么不给你的字段添加一个别名,例如`SELECT T1.TEXT as t1_text,T2.FIELD as t2_field FROM TABLE1 T1,TABLE2 T2 WHERE T1.ID = T2.ID`,然后尝试$ fetched-> t1_text或$ fetched - > t2_field – cristian 2011-01-09 21:28:15