取得結果集中指定欄位的型別

mysql_field_type

(PHP 4, PHP 5)

mysql_field_type — 取得結果集中指定欄位的型別

說明

mysql_field_type(resource $result, int $field_offset): string

mysql_field_type() 和 mysql_field_name() 函式相似。參數完全相同,但返回的是欄位型別而不是欄位名。欄位型別有「int」,「real」,「string」,「blob」以及其它,詳見 » MySQL 手冊。

示例 #1 mysql_field_type() 例子

<?php
    mysql_connect
("localhost", "mysql_username", "mysql_password");
    
mysql_select_db("mysql");
    
$result = mysql_query("SELECT * FROM func");
    
$fields = mysql_num_fields($result);
    
$rows   = mysql_num_rows($result);
    
$table = mysql_field_table($result, 0);
    echo 
"Your '".$table."' table has ".$fields." fields and ".$rows." record(s)\n";
    echo 
"The table has the following fields:\n";
    for (
$i=0; $i < $fields; $i++) {
        
$type  = mysql_field_type($result, $i);
        
$name  = mysql_field_name($result, $i);
        
$len   = mysql_field_len($result, $i);
        
$flags = mysql_field_flags($result, $i);
        echo 
$type." ".$name." ".$len." ".$flags."\n";
    }
    
mysql_free_result($result);
    
mysql_close();
?>

以上例子將產生如下輸出:

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

為向下相容仍然可以使用 mysql_fieldtype(),但反對這樣做。

參數

result

resource 型的結果集。此結果集來自對 mysql_query() 的呼叫。

field_offset

數值型欄位偏移量。 field_offset 從 0 開始。如果 field_offset 不存在,則會發出一個 E_WARNING 級別的錯誤

返回值

The returned field type will be one of "int", "real", "string", "blob", and others as detailed in the » MySQL documentation.

範例

示例 #2 mysql_field_type() example

<?php
mysql_connect
("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows   = mysql_num_rows($result);
$table  = mysql_field_table($result, 0);
echo 
"Your '" . $table . "' table has " . $fields . " fields and " . $rows . " record(s)\n";
echo 
"The table has the following fields:\n";
for (
$i=0; $i < $fields; $i++) {
    
$type  = mysql_field_type($result, $i);
    
$name  = mysql_field_name($result, $i);
    
$len   = mysql_field_len($result, $i);
    
$flags = mysql_field_flags($result, $i);
    echo 
$type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

以上例程的輸出類似於:

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

註釋

注意:

爲了向下相容,可以使用下列已廢棄的別名: mysql_fieldtype()

參見

Leave a Reply

Your email address will not be published. Required fields are marked *