如何在使用PDO时获取原始表/列名称?

时间:2011-12-07 14:45:48

标签: php pdo mysqli field meta

使用PHP的mysqli扩展,我可以使用fetch_field()方法通过结果中的orgnameorgtable获取列和表的原始(非锯齿)名称。 PDO提供方法getColumnMeta(),但不提供有关原始表和列名称的信息;它只返回别名。

有什么替代方法可以通过PDO获取此信息吗?我一直在考虑从SQL查询中解析信息,但我希望有更漂亮的解决方案......

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

使用PDOStatement::getColumnMeta()的结果:

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
)

1 个答案:

答案 0 :(得分:0)

您可以使用fetch方法

    while ($row = $stmt->fetch()) {
        var_dump($row);
    }