服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - php mysql获取表字段名称和字段信息的三种方法

php mysql获取表字段名称和字段信息的三种方法

2021-03-25 15:49PHP教程网 PHP教程

本文章向大家介绍php获取mysql表字段名称和字段信息的三种方法,分别为:mysql_fetch_field方法、desc方法和SHOW FULL FIELDS方法,

php mysql获取表字段名称和字段信息的三种方法

先给出本实例中使用的表的信息:

php mysql获取表字段名称和字段信息的三种方法

使用desc获取表字段信息

php代码如下:

?
1
2
3
4
5
6
7
8
9
<?php
  mysql_connect("localhost","root","");
  mysql_select_db("test");
  $query = "desc student";
  $result = mysql_query($query);
  while($row=mysql_fetch_assoc($result)){
 print_r($row);
  }
?>

运行结果:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Array
(
  [Field] => student_id
  [Type] => int(4)
  [Null] => NO
  [Key] => PRI
  [Default] =>
  [Extra] => auto_increment
)
Array
(
  [Field] => student_name
  [Type] => varchar(50)
  [Null] => NO
  [Key] =>
  [Default] =>
  [Extra] =>
)
Array
(
  [Field] => class_id
  [Type] => int(4)
  [Null] => NO
  [Key] =>
  [Default] =>
  [Extra] =>
)
Array
(
  [Field] => total_score
  [Type] => int(4)
  [Null] => NO
  [Key] =>
  [Default] =>
  [Extra] =>
)

使用SHOW FULL FIELDS获取表字段信息

php代码如下:

?
1
2
3
4
5
6
7
8
9
<?php
  mysql_connect("localhost","root","");
  mysql_select_db("test");
  $query = "SHOW FULL COLUMNS FROM student";
  $result = mysql_query($query);
  while($row=mysql_fetch_assoc($result)){
 print_r($row);
  }
?>

运行结果:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Array
(
  [Field] => student_id
  [Type] => int(4)
  [Collation] =>
  [Null] => NO
  [Key] => PRI
  [Default] =>
  [Extra] => auto_increment
  [Privileges] => select,insert,update,references
  [Comment] =>
)
Array
(
  [Field] => student_name
  [Type] => varchar(50)
  [Collation] => latin1_swedish_ci
  [Null] => NO
  [Key] =>
  [Default] =>
  [Extra] =>
  [Privileges] => select,insert,update,references
  [Comment] =>
)
Array
(
  [Field] => class_id
  [Type] => int(4)
  [Collation] =>
  [Null] => NO
  [Key] =>
  [Default] =>
  [Extra] =>
  [Privileges] => select,insert,update,references
  [Comment] =>
)
Array
(
  [Field] => total_score
  [Type] => int(4)
  [Collation] =>
  [Null] => NO
  [Key] =>
  [Default] =>
  [Extra] =>
  [Privileges] => select,insert,update,references
  [Comment] =>
)

使用mysql_fetch_field方法获取表字段信息

php代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
<?php
  mysql_connect("localhost","root","");
  mysql_select_db("test");
  $query = "SELECT * FROM student LIMIT 1";
  $result = mysql_query($query);
  $fields = mysql_num_fields($result);
  for($count=0;$count<$fields;$count++)
  {
   $field = mysql_fetch_field($result,$count);
  print_r($field);
  }
?>

运行结果如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
stdClass Object
(
  [name] => student_id
  [table] => student
  [def] =>
  [max_length] => 1
  [not_null] => 1
  [primary_key] => 1
  [multiple_key] => 0
  [unique_key] => 0
  [numeric] => 1
  [blob] => 0
  [type] => int
  [unsigned] => 0
  [zerofill] => 0
)
stdClass Object
(
  [name] => student_name
  [table] => student
  [def] =>
  [max_length] => 5
  [not_null] => 1
  [primary_key] => 0
  [multiple_key] => 0
  [unique_key] => 0
  [numeric] => 0
  [blob] => 0
  [type] => string
  [unsigned] => 0
  [zerofill] => 0
)
stdClass Object
(
  [name] => class_id
  [table] => student
  [def] =>
  [max_length] => 1
  [not_null] => 1
  [primary_key] => 0
  [multiple_key] => 0
  [unique_key] => 0
  [numeric] => 1
  [blob] => 0
  [type] => int
  [unsigned] => 0
  [zerofill] => 0
)
stdClass Object
(
  [name] => total_score
  [table] => student
  [def] =>
  [max_length] => 3
  [not_null] => 1
  [primary_key] => 0
  [multiple_key] => 0
  [unique_key] => 0
  [numeric] => 1
  [blob] => 0
  [type] => int
  [unsigned] => 0
  [zerofill] => 0
)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

延伸 · 阅读

精彩推荐