请问sqlite如何查询某个表的所有字段?在php中如何编写?
网友回复
sqlite不支持直接输出表结构的sql,但是我们可以变通一下,将这个表的创建sql输出,然后再进行字符拆分。
1、获取这个表的create table sql语句
SELECT sql FROM sqlite_master WHERE tbl_name = '表名' AND type = 'table'2、获取的sql语句如下
3、获取的数据进行字符转换
<?php $kommando = "CREATE TABLE service ( id INTEGER PRIMARY KEY, dom TEXT, cont TEXT, act TEXT, providerip TEXT, serviceurl TEXT, regtime TEXT, lang TEXT, seckey TEXT, weight INTEGER, reportnum INTEGER)"; $cut = strtok($kommando, "("); while ($fieldnames[] = strtok(",")) {}; array_pop($fieldnames); $_fieldinfo = []; foreach ($fieldnames as $no => $field) { $_f = explode(" ", trim($field)); $_fieldinfo[] = ['name' => $_f[0], "type" => $_f[1]]; //$fieldnames[$no] = strtok($field, " "); if (strpos($field, "PRIMARY KEY")) { echo "主键".strtok($field, " "); } } print_r($_fieldinfo); ?>