iT氪 IT人的社区

iT氪 IT人的社区

PHP获取mysql数据表的字段名称和详细信息的方法

来源:网络
发布:小码农
时间:2017-02-17
浏览:1538 次
#评论#

首先我们需要了解下查询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

 

收藏 (0) +1 (3) +1 (0) +1

相关阅读

PHP中文件读、写、删的操作(PHP中对文件和目录操作)

PHP中文件读、写、删的操作(PHP中对文件和目录操作)

一:目录操作     首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出:  <?php   $base_dir = "filelist/";   $fso = opendir($base_dir);   echo $base_dir."<hr/>" ;   while($flist=readdir($fso)){   echo $flist."<br/>" ;   }   closedir($fso)   ?>...

php列出一个目录下的所有文件的代码

php列出一个目录下的所有文件的代码

<?php function dir_path($path) { $path = str_replace('\\', '/', $path); if (substr($path, -1) != '/') $path = $path . '/'; return $path; } /** * 列出目录下的所有文件 * * @param str $path 目录 * @param str $exts 后缀 * @param array $list 路径数组 * @return array 返回路径数组 */ function dir_...

smarty中section的嵌套用法

smarty中section的嵌套用法

因为是用smarty做为模版引擎的,而我能简单的用section作为循环输出数据,但是,如果是这种情就令我不知所措了: 文章的分类是可以动态改变的,也就是说需要循环输出,而在每个分类版块里面又各显示5条文章链接的.也是就通常所说的嵌套输出啦. 晕,section中的嵌套用法一时摸不着头,看了smarty的文档帮助更是头晕了,不知所云!! 幸好,在网上找了这个资料,让我轻松搞掂啦!!现发上来大家参考. 程序部分内容: $query = “SELECT id,name,name_cn FROM di_flag ORDER BY id desc”; $result...

十个超级有用的PHP代码片段

十个超级有用的PHP代码片段

1. 发送短信 调用 TextMagic API。 // Include the TextMagic PHP lib require('textmagic-sms-api-php/TextMagicAPI.php'); // Set the username and password information $username = 'myusername'; $password = 'mypassword'; // Create a new instance of TM $router = new TextMagi...

php生成随机颜色方法汇总

php生成随机颜色方法汇总

方法一: 随机生成颜色值(例如 FF00FF). color.php function random_color(){ mt_srand((double)microtime()*1000000); $c = ''; while(strlen($c)<6){ $c .= sprintf("%02X", mt_rand(0, 255)); } return $c; } 方法二: function randrgb() { $str='0123456789ABCDEF'; ...