
 
 | 
| 技术资料  > PHP技术 > 数据库操作 : PHP4与MySQL数据库操作函数详解(五) |  
PHP4与MySQL数据库操作函数详解(五) March 25,2004 |  
(7) 数据库信息函数(2个):  
 
1、mysql_fetch_field()  
格式:object mysql_fetch_field(int query , int [field_offset]);  
 
返回1个对象,即一哈希表,下标有:  
table : 表名  
name : 字段名  
max_length : 该字段的最大长度  
not_null : 字段为not null则返回1,否则返回0  
primary_key : 字段为primary key则返回1,否则返回0  
unique_key : 字段为unique key则返回1,否则返回0  
multiple_key : 字段为非unique key则返回1,否则返回0  
numeric : 字段为numeric则返回1,否则返回0  
blob : 字段为blob则返回1,否则返回0  
type : 字段的类型  
unsigned : 字段为unsigned则返回1,否则返回0  
zerofill : 字段为zero filled则返回1,否则返回0  
 
引用格式为:对象名->下标名  
 
使用此函数可以得到表名、字段名、类型.......  
 
例子:  
 
<?php  
$query = mysql_query($sql , $connect);  
while($object = mysql_fetch_field($query))  
{  
echo "table name : ".$object->table."<br>";  
echo "field name : ".$object->name."<br>";  
echo "primary key : ".$object->primary_key."<br>";  
echo "not null : ".$object->not_null."<br>";  
echo "field type : ".$object->type."<br>";  
echo "field max length : ".$object->max_length."<br>";  
}  
?>  
 
Note : 哈希表的是从0坐标开始的,即第一个字段为哈希表中的0项。  
如果我们想直接得到哈希表的第三项即第三个字段的信息,可用如下格式:  
<?php  
$query = mysql_query($sql , $connect);  
$object = mysql_fetch_field($query , 2);  
echo "table name : ".$object->table."<br>";  
echo "field name : ".$object->name."<br>";  
echo "primary key : ".$object->primary_key."<br>";  
echo "not null : ".$object->not_null."<br>";  
echo "field type : ".$object->type."<br>";  
echo "field max length : ".$object->max_length."<br>";  
?>  
 
其实这也可以通过下面这个函数来达到同样的目的。  
 
2、mysql_field_seek()  
格式:int mysql_field_seek(int $query , int field_offset);  
 
将游标移到指定的字段上。  
例子:  
 
<?php  
$query = mysql_query($sql , $connect);  
$seek = mysql_field_seek($query , 2);  
$object = mysql_fetch_field($query);  
echo "table name : ".$object->table."<br>";  
echo "field name : ".$object->name."<br>";  
echo "primary key : ".$object->primary_key."<br>";  
echo "not null : ".$object->not_null."<br>";  
echo "field type : ".$object->type."<br>";  
echo "field max length : ".$object->max_length."<br>";  
?>  
 
这样也达到与上例同样的要求。  
 
原作者:[email protected]   
来源:中国PHP自由联盟    
         |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved