2011-12-07 47 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); 
    } 
相關問題