我有以下代码,在我的数据库中显示当前表名的列表,工作正常。
<?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 />';
} ?>
所有测试和工作
答案 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中的表定义。