2010-06-23 161 views
1

我有許多具有相同列名稱的MySQL表格。所以我尋找PDO或SQL黑客來查找更多的表 - 這將返回結果集中的表名。FETCH_ASSOC和SELECT * FROM具有相同列名的兩個表格

實施例:

'SELECT * FROM table0, table1';

兩個表具有 '名稱' 欄。但是FETCH_ASSOC結果只返回一個「名稱」 - 最後一個。

結果:

echo $result["name"]; 

通緝的結果:

echo $result["table0.name"]; 
echo $result["table1.name"]; 
... 

注意

  1. 我不能重命名數據庫列是唯一
  2. 我不能manualy爲每列創建別名(很多桌/列)
  3. 我想要結果集中的名稱不是數字,例如FETCH_NUM

任何想法? 謝謝!

+0

做兩個查詢,每個單獨的表有一個確切的錯誤? – 2010-06-23 13:58:18

回答

1

黑客不存在,您必須創建別名。

1

你說你不想別名所有的列,因爲有太多,但你有沒有考慮過別人給你的問題?

SELECT 
    *, 
    table0.name AS t0name, 
    table1.name AS t1name 
FROM table0 JOIN table1 ON ... 
+0

感謝您的部分建議。我找到了另一個。 FETCH_NAMED將有問題的列作爲編號數組和其他普通標量返回。 [獨特] => VAL [名稱] =>數組( [0] => VAL [1] => VAL ) 一種方法是格式化結果用PHP設置。 – Cervenak 2010-06-23 14:20:50

相關問題