php使用mysql_fetch_field获取数据库表的字段信息

时间:2016-07-19
php mysql_fetch_field函数从结果集中取得列信息并作为对象返回,因此,我们可以使用该函数获取数据库表的字段信息,本文章向大家介绍mysql_fetch_field获取表的字段信息的实例,需要的朋友可以参考一下。

先向大家介绍一下mysql_fetch_field函数的基本知识

mysql_fetch_field介绍

mysql_fetch_field — 从结果集中取得列信息并作为对象返回 

语法:

object mysql_fetch_field ( resource $result [, int $field_offset ] )

返回一个包含字段信息的对象。 

mysql_fetch_field() 可以用来从某个查询结果中取得字段的信息。如果没有指定字段偏移量,则下一个尚未被 mysql_fetch_field() 取得的字段被提取。 

对象的属性为: 

  1. name - 列名 
  2. table - 该列所在的表名 
  3. max_length - 该列最大长度 
  4. not_null - 1,如果该列不能为 NULL 
  5. primary_key - 1,如果该列是 primary key 
  6. unique_key - 1,如果该列是 unique key 
  7. multiple_key - 1,如果该列是 non-unique key 
  8. numeric - 1,如果该列是 numeric 
  9. blob - 1,如果该列是 BLOB 
  10. type - 该列的类型 
  11. unsigned - 1,如果该列是无符号数 
  12. zerofill - 1,如果该列是 zero-filled 
     

mysql_fetch_field获取表字段信息

本示例中需要使用的表信息,表字段信息如下图所示:

php使用mysql_fetch_field获取数据库表的字段信息

下面我们使用mysql_fetch_field函数获取表字段信息,代码如下:

<?php
   mysql_connect("localhost","root","");
   mysql_select_db("test");
   $query = "SELECT * FROM student LIMIT 1";
   $result = mysql_query($query);
   $fields = mysql_num_fields($result);
   /* http://www.manongjc.com/article/1224.html */
   for($count=0;$count<$fields;$count++)
   {
      $field = mysql_fetch_field($result,$count);
      echo "<p>$field->name $field->type ($field->max_length)</p>";
   }
?>

输出结果:

student_id int (1)

student_name string (5)

class_id int (1)

total_score int (3)

上面分别获取到每个字段的名称和字段类型以及长度。