(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>";
?>
這樣也達到與上例同樣的要求。