Как получить исходное имя таблицы / столбца при использовании PDO? - PullRequest
5 голосов
/ 07 декабря 2011

С расширением mysqli для PHP я мог бы использовать метод fetch_field(), чтобы получить в результате исходные (несвязанные) имена столбцов и таблиц через orgname и orgtable.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 голосов
/ 24 марта 2015

Вы можете использовать извлекать метод

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