そのまんま!

maxdb_fetch_fields

(PECL)

maxdb_fetch_fields

(no version information, might be only in CVS)

result->fetch_fields -- 結果セット内のフィールドを表すリソースの配列を返す

説明

手続き型

mixed maxdb_fetch_fields ( resource result )

オブジェクト指向型 (メソッド)

class result {

mixed fetch_fields ( void )

}

この関数は、maxdb_fetch_field() と同じ目的で使用します。ただひとつの違いは、 各フィールドに対してひとつづつリソースを返すのではなく、 リソースの配列を返すという点です。

返り値

フィールド定義の情報を含む、リソースの配列を返します。 フィールド情報が存在しない場合には FALSE を返します。

表 1. オブジェクトのプロパティ

プロパティ説明
nameカラムの名前
max_length結果セットのフィールドの最大幅
typeこのフィールドのデータ型
decimals使用している桁数 (整数フィールドの場合)

参考

maxdb_num_fields() maxdb_fetch_field() maxdb_fetch_field_direct()

例 1. オブジェクト指向型

<?php
$maxdb
= new maxdb("localhost", "MONA", "RED", "DEMODB");

/* 接続を調べます */
if (maxdb_connect_errno()) {
   
printf("接続に失敗しました: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if (
$result = $maxdb->query($query)) {

   
/* すべてのカラムのフィールド情報を取得します */
   
$finfo = $result->fetch_fields();

   foreach (
$finfo as $val) {
       
printf("Name:     %s\n", $val->name);
       
printf("Table:    %s\n", $val->table);
       
printf("max. Len: %d\n", $val->max_length);
       
printf("Flags:    %d\n", $val->flags);
       
printf("Type:     %d\n\n", $val->type);
   }    
   
$result->close();
}

/* 接続を閉じます */
$maxdb->close();
?>

例 2. 手続き型

<?php
$link
= maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* 接続を調べます */
if (maxdb_connect_errno()) {
   
printf("接続に失敗しました: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if (
$result = maxdb_query($link, $query)) {

   
/* すべてのカラムのフィールド情報を取得します */
   
$finfo = maxdb_fetch_fields($result);

   foreach (
$finfo as $val) {
       
printf("Name:     %s\n", $val->name);
       
printf("Table:    %s\n", $val->table);
       
printf("max. Len: %d\n", $val->max_length);
       
printf("Flags:    %d\n", $val->flags);
       
printf("Type:     %d\n\n", $val->type);
   }    
   
maxdb_free_result($result);
}

/* 接続を閉じます */
maxdb_close($link);
?>

上の例の出力は、たとえば以下のようになります。

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0