Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

mysql_fetch_field

(PHP 3, PHP 4 )

mysql_fetch_field --  結果からカラム情報を取得し、オブジェクトとして返す

説明

object mysql_fetch_field ( resource result, int [field_offset])

フィールド情報を含むオブジェクトを返します。

mysql_fetch_field()は、特定のクエリー結果 の中のフィールドに関する情報を得るために使用可能です。 フィールドオフセットを指定しない場合、次のフィールドのうち、 mysql_fetch_field()によりまだ取得されていない ものが取得されます。

オブジェクトのプロパティは、次の通りです。

  • name - カラム名

  • table - カラムが属しているテーブルの名前

  • max_length - カラムの最大長

  • not_null - カラムが「not NULL」であれば 1

  • primary_key - カラムが「primary key」であれば 1

  • unique_key - カラムが「unique key」であれば 1

  • multiple_key - カラムが「non-unique key」であれば 1

  • numeric - カラムが数値(numeric)であれば1

  • blob - カラムがBLOBであれば1

  • type - カラムの型

  • unsigned - カラムが符号無し(unsigned)であれば1

  • zerofill - カラムがゼロで埋められている(zero-filled)場合に1

例 1mysql_fetch_field()

<?php
mysql_connect('localhost:3306', $user, $password)
    or die ("Could not connect");
mysql_select_db("database");
$result = mysql_query("select * from table")
    or die("Query failed");
# get column metadata
$i = 0;
while ($i < mysql_num_fields($result)) {
    echo "Information for column $i:<BR>\n";
    $meta = mysql_fetch_field($result);
    if (!$meta) {
        echo "No information available<BR>\n";
    }
    echo "<PRE>
blob:         $meta->blob
max_length:   $meta->max_length
multiple_key: $meta->multiple_key
name:         $meta->name
not_null:     $meta->not_null
numeric:      $meta->numeric
primary_key:  $meta->primary_key
table:        $meta->table
type:         $meta->type
unique_key:   $meta->unique_key
unsigned:     $meta->unsigned
zerofill:     $meta->zerofill
</PRE>";
    $i++;
}
mysql_free_result($result);
?>

mysql_field_seek()も参照下さい。