2011-12-07 46 views
5

使用PHP的mysqli扩展,我可以使用fetch_field()方法在结果中通过orgnameorgtable获取列和表的原始(未分析)名称。 PDO提供方法getColumnMeta(),但不提供有关原始表和列名称的信息;它只会返回别名。如何在使用PDO时获取原始表格/列名称?

有没有其他方法可以用PDO获取这些信息?我一直在思考分析来自SQL查询的信息,但我希望有更漂亮的解决方案...使用PDOStatement::getColumnMeta()

SELECT id AS col1, session AS col2 FROM sessions AS table1; 

结果:

Array 
(
    [native_type] => LONG 
    [flags] => Array 
     (
      [0] => not_null 
      [1] => primary_key 
     ) 

    [table] => table1 
    [name] => col1 
    [len] => 10 
    [precision] => 0 
    [pdo_type] => 2 
) 
Array 
(
    [native_type] => VAR_STRING 
    [flags] => Array 
     (
      [0] => not_null 
      [1] => unique_key 
     ) 

    [table] => table1 
    [name] => col2 
    [len] => 32 
    [precision] => 0 
    [pdo_type] => 2 
) 
+0

根据文档,调用['PDOStatement.getColumnMeta'](http://php.net/PDOStatement.getColumnMeta)的结果包含一个'表'列,其中包含“[他]的名字这个列的表由数据库返回。“这不是你在练习中看到的吗? – outis

+0

我将结果添加到我的文章! –

+0

祝你好运! –

回答

0

您可以使用fetch方法

while ($row = $stmt->fetch()) { 
     var_dump($row); 
    } 
相关问题