SQLite3查询列出数据库中的所有表只显示一个表

Mik*_*ike 3 php sqlite

我需要能够读取SQLite数据库中的所有表,而不知道将调用哪些表.我正在研究以下example.db

chinhook.db

专辑,艺术家,客户,员工,流派,发票,InvoiceLine,MediaType,播放列表,PlaylistTrack,Track.

目前,我正在使用以下内容......

<?php
    $db = new SQLite3('db/chinhook.db');
    $tablesquery = $db->query("SELECT name FROM sqlite_master WHERE type='table';");
    $tables = $tablesquery->fetchArray(SQLITE3_ASSOC);

    foreach($tables as $name){
       echo $name.'<br />';
    }
?>
Run Code Online (Sandbox Code Playgroud)

我似乎只能得到第一张桌子的名字.我可以从其他表调用数据没问题,但sqlite_master表只包含一个表名.在线的其他人似乎报告这种方法是成功的.有任何想法吗?

提前致谢.

cir*_*van 8

试试这个:

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

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