PDOStatement::columnCount

(no version information, might be only in CVS)

PDOStatement::columnCount --  結果セット中のカラム数を返す

説明

int PDOStatement::columnCount ( void )

警告

この関数は、 実験的なステータスにあります。これは、この関数の 動作、関数名、ここで書かれていること全てがPHPの将来のバージョンで予告 なく変更される可能性があることを意味します。注意を喚起するとともに自分 のリスクでこの関数を使用してください。

PDOStatement オブジェクトに相当する結果セットにあるカラム数を返すために PDOStatement::columnCount() を使用します。

もし PDOStatement オブジェクトが PDO::query() から返された場合、カラム数は直ちに利用可能です。

もし PDOStatement オブジェクトが PDO::prepare() から返された場合、正確なカラム数は PDOStatement::execute() を実行するまで利用可能になりません。

戻り値

PDOStatement オブジェクトに総督する結果セットにあるカラム数を返します。 もし結果セットがなければ、PDOStatement::columnCount()0 を返します。

例 1. カラム数を数える

この例は、結果セットがある場合とない場合で、 PDOStatement::columnCount() がどのように動作するかを例示しています。

<?php
$dbh
= new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

/* (存在しない) 結果セットにあるカラム数を数える */
$colcount = $sth->columnCount();
print(
"Before execute(), result set has $colcount columns (should be 0)\n");

$sth->execute();

/* 結果セットにあるカラム数を数える */
$colcount = $sth->columnCount();
print(
"After execute(), result set has $colcount columns (should be 2)\n");

?>

上の例の出力は以下となります:

Before execute(), result set has 0 columns (should be 0)
After execute(), result set has 2 columns (should be 2)

以下も参照ください

PDO::prepare()
PDOStatement::execute()
PDOStatement::rowCount()