使用php从sqlite3数据库中检索列名

时间:2014-05-10 03:40:26

标签: php sqlite

我有以下代码,在我的数据库中显示当前表名的列表,工作正常。

<?php // Display all sqlite tables
    $db = new SQLite3('data.db');
    $tablesquery = $db->query("SELECT name FROM sqlite_master WHERE type='table';");

    while ($table = $tablesquery->fetchArray(SQLITE3_ASSOC)) {
        echo $table['name'] . '<br />';
} ?>

您可以像在mysql中一样显示表的列名列表吗?我尝试过多次迭代,但都失败了。

只是为了记录,这是我使用的代码,感谢esqew的帮助:

<?php // Display all sqlite column names for chosen table
    $db = new SQLite3('data.db');
    $tablesquery = $db->query("PRAGMA table_info(USERS)");

    while ($table = $tablesquery->fetchArray(SQLITE3_ASSOC)) {
        echo $table['name'] . '<br />';
} ?>

所有测试和工作

2 个答案:

答案 0 :(得分:3)

请参阅SQLite.org - PRAGMA Statements

PRAGMA table_info(sqlite_master);

使其适合您的PHP实现:

<?php // Display all sqlite tables
    $db = new SQLite3('data.db');
    $tablesquery = $db->query("PRAGMA table_info(sqlite_master);");

    while ($table = $tablesquery->fetchArray(SQLITE3_ASSOC)) {
        echo $table['name'] . '<br />';
} ?>

答案 1 :(得分:0)

试试这个sqlite表模式解析器,我实现了sqlite表解析器,用于解析PHP中的表定义。

https://github.com/maghead/sqlite-parser