PHP 获取 mysql 数据表的字段名称和详细信息的方法
首先我们需要了解下查询 MySQL 数据库 / 表相关信息的 SQL 语句:
代码如下:SHOW DATABASES// 列出 MySQL Server 数据库
SHOW TABLES[FROM db_name]// 列出数据库数据表
SHOW CREATE TABLES tbl_name// 导出数据表结构
SHOW TABLE STATUS[FROM db_name]// 列出数据表及表状态信息
SHOW COLUMNS FROM tbl_name[FROM db_name]// 列出资料表字段
SHOW FIELDS FROM tbl_name[FROM db_name],
DESCRIBE tbl_name[col_name]SHOW FULL COLUMNS FROM tbl_name[FROM db_name]// 列出字段及详情
SHOW FULL FIELDS FROM tbl_name[FROM db_name]// 列出字段完整属性
SHOW INDEX FROM tbl_name[FROM db_name]// 列出表索引
SHOW STATUS// 列出 DB Server 状态
SHOW VARIABLES// 列出 MySQL 系统环境变量
SHOW PROCESSLIST// 列出执行命令
SHOW GRANTS FOR user// 列出某用户权限
由上述 SQL 语句可以看到, 我们可以使用 SHOW FULL COLUMNS 来列出字段及详情信息, 示例代码:
代码如下:$rescolumns=mysql_query("SHOW FULL COLUMNS FROM".TB_NAME."");
while($row=mysql_fetch_array($rescolumns)){
// echo '字段名称:'.$row['Field'].'- 数据类型:'.$row['Type'].'- 注释:'.$row['Comment'];
// echo '
';
print_r($row);
}
打印结果:
代码如下:
Array ( [0] => id [Field] => id [1] => char(2) [Type] => char(2) [2] => utf8_general_ci [Collation] => utf8_general_ci [3] => NO [Null] => NO [4] => PRI [Key] => PRI [5] => [Default] => [6] => [Extra] => [7] => select,insert,update,references [Privileges] => select,insert,update,references [8] => [Comment] => )
Array ( [0] => title [Field] => title [1] => char(50) [Type] => char(50) [2] => utf8_general_ci [Collation] => utf8_general_ci [3] => YES [Null] => YES [4] => [Key] => [5] => [Default] => [6] => [Extra] => [7] => select,insert,update,references [Privileges] => select,insert,update,references [8] => 建议存储: 标题姓名等信息 [Comment] => 建议存储: 标题姓名等信息 )
Array ( [0] => des [Field] => des [1] => varchar(255) [Type] => varchar(255) [2] => utf8_general_ci [Collation] => utf8_general_ci [3] => YES [Null] => YES [4] => [Key] => [5] => [Default] => [6] => [Extra] => [7] => select,insert,update,references [Privileges] => select,insert,update,references [8] => [Comment] => )
补充说明信息:
当然你也可以通过 mysql_list_fields 列出 MySQL 结果中的字段 mysql_list_fields() 取得给定表名的信息, 参数是数据库名和表名, 返回一个结果指针
但是, mysql_list_fields() 函数已过时最好用 mysql_query() 来发出一条 SHOW COLUMNS FROM table [LIKE 'name'] 的 SQL 语句来代替详细可参考 PHP 帮助文档: PHP: mysql_list_fields - Manua
来源: https://www.php1.cn/detail/php-4fa8ce61ec.html