2010-06-23 83 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

相关问题