Php SQLite3查询列出数据库中的所有表,只显示一个表
我需要能够读取SQLite数据库中的所有表,而不知道这些表将被调用。我正在处理下面的example.db chinhook.db 表格 专辑, 艺术家, 顾客 雇员,, 体裁 发票, 发票行, 媒体类型, 播放列表, 播放曲目, 跟踪 目前,我正在使用以下Php SQLite3查询列出数据库中的所有表,只显示一个表,php,sqlite,Php,Sqlite,我需要能够读取SQLite数据库中的所有表,而不知道这些表将被调用。我正在处理下面的example.db chinhook.db 表格 专辑, 艺术家, 顾客 雇员,, 体裁 发票, 发票行, 媒体类型, 播放列表, 播放曲目, 跟踪 目前,我正在使用以下 <?php $db = new SQLite3('db/chinhook.db'); $tablesquery = $db->query("SELECT name FROM sqlite_master WHERE
<?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 />';
}
?>
试试这个:
<?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 />';
}
?>
PDO方法中的
$db=newpdo('sqlite:Northwind.db');
$sql=“从sqlite\u主控中选择'name',其中'type`='table'按名称排序”;
$result=$db->query($sql);
如果($结果){
而($row=$result->fetch(PDO::fetch_ASSOC)){
回显“”.$row[“name]”。 ;
}
}
?>
供参考,如果您需要解析返回的sql
我为它实现了一个sqlite表解析器:
fetchArray()方法的作用是什么?用于获取查询结果并将其放入数字或关联数组(或两者)的标准SQLite3方法。类似于mysql_fetch_数组的方式。那么,在一个数值数组或关联数组中应该提取多少条记录?->fetch似乎不是对未定义方法SQLite3Result::fetch()的SQLite3调用中的方法是的,这是我的错。fetch()是在类SQLITEDABASE中定义的,但不是在您正在使用的SQLite3中定义的。
<?php
$db = new SQLite3('db/chinhook.db');
$tablesquery = $db->query("SELECT sql FROM sqlite_master WHERE name='foo'");
$table = $tablesquery->fetchArray();
echo '<pre>'.$table['sql'] . '</pre>';
$db->close();
?>
$db = new PDO('sqlite:Northwind.db');
$sql = "SELECT `name` FROM sqlite_master WHERE `type`='table' ORDER BY name";
$result = $db->query($sql);
if($result){
while($row = $result->fetch(PDO::FETCH_ASSOC)){
echo '<li>'.$row['name'].'</li>';
}
}
?>