PHP mysql_fetch_field()関数

定義と使用法

mysql_fetch_field()関数は、結果セットから列情報を取得し、オブジェクトとして返します。

mysql_fetch_field()は、クエリ結果からフィールド情報を取得するために使用できます。フィールドオフセット量が指定されていない場合、mysql_fetch_field()で取得されていない次のフィールドを抽出します。

この関数は、フィールド情報を含むオブジェクトを返します。

返されるオブジェクトの属性は:

  • name - 列名
  • table - その列が属するテーブル名
  • max_length - その列の最大長さ
  • not_null - 1,もしその列がNULLでないことができる場合
  • primary_key - 1,もしその列がプライマリキーである場合
  • unique_key - 1,もしその列がユニークキーである場合
  • multiple_key - 1,もしその列が非ユニークキーである場合
  • numeric - 1,もしその列が数値型である場合
  • blob - 1,如果该列是 BLOB
  • blob - 1、この列が BLOBである場合
  • type - この列のタイプ
  • unsigned - 1、この列が無符号数である場合

zerofill - 1、この列が zero-filled されている場合

構文datamysql_fetch_field(field_offset)
, 説明
data 必須。使用するデータポインタです。このデータポインタは mysql_query() が返す結果から得られます。
field_offset 必須。どのフィールドから始めるかを指定します。0は最初のフィールドを指します。設定されていない場合、次のフィールドが返されます。

ヒントと注釈

注釈:この関数が返すフィールド名は、大小文字を区別します。

<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('接続できません: ' . mysql_error());
  }
$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from Person";
$result = mysql_query($sql,$con);
while ($property = mysql_fetch_field($result))
  {
  echo "フィールド名: " . $property->name . "<br />";
  echo "テーブル名: " . $property->table . "<br />";
  echo "デフォルト値: " . $property->def . "<br />";
  echo "最大長さ: " . $property->max_length . "<br />";
  echo "NULLではない: " . $property->not_null . "<br />"; 
  echo "主要キー: " . $property->primary_key . "<br />";
  echo "ユニークなキー: " . $property->unique_key . "<br />"; 
  echo "複数のキー: " . $property->multiple_key . "<br />";
  echo "Numeric Field: " . $property->numeric . "<br />";
  echo "BLOB: " . $property->blob . "<br />";
  echo "Field Type: " . $property->type . "<br />";
  echo "Unsigned: " . $property->unsigned . "<br />";
  echo "Zero-filled: " . $property->zerofill . "<br /><br />"; 
  }
mysql_close($con);
?>

出力:

フィールド名: LastName
テーブル名: Person
デフォルト値: 
最大長: 8
NULLでない: 0
主要キー: 0
ユニークキー: 0
複数キー: 0
数値フィールド: 0
BLOB: 0
フィールドタイプ: string
サインレス: 0
ゼロフィルド: 0
フィールド名: FirstName
テーブル名: Person
デフォルト値: 
最大長: 7
NULLでない: 0
主要キー: 0
ユニークキー: 0
複数キー: 0
数値フィールド: 0
BLOB: 0
フィールドタイプ: string
サインレス: 0
ゼロフィルド: 0
フィールド名: City
テーブル名: Person
デフォルト値: 
最大長: 9
NULLでない: 0
主要キー: 0
ユニークキー: 0
複数キー: 0
数値フィールド: 0
BLOB: 0
フィールドタイプ: string
サインレス: 0
ゼロフィルド: 0
フィールド名: Age
テーブル名: Person
デフォルト値: 
最大長: 2
NULLでない: 0
主要キー: 0
ユニークキー: 0
複数キー: 0
数値フィールド: 1
BLOB: 0
フィールドタイプ: int
サインレス: 0
ゼロフィルド: 0