PDOStatement::columnCount — 結果セット内の列の数を返します。 (PHP 5 >= 5.1.0、PECL pdo >= 0.2.0)
int PDOStatement::columnCount ( void )
PDOStatement::columnCount() を使用して、PDOStatement オブジェクトによって表される結果セット内の列の数を返します。
PDO::query() によって返される PDOStatement オブジェクトの場合、列数の計算はすぐに利用できます。
PDO::prepare() によって返される PDOStatement オブジェクトの場合、PDOStatement::execute() が呼び出されるまで列数を正確に計算できません。
PDOStatement オブジェクトによって表される結果セット内の列の数を返します。結果セットがない場合、PDOStatement::columnCount() は 0 を返します。
次の例は、PDOStatement::columnCount() を使用して結果セットと空のセットを操作する方法を示しています。
<?php$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');$sth = $dbh->prepare("SELECT name, color FROM Fruit");/* 1 つを計算します (計算しません)存在する)結果セット内の列の数*/$colcount = $sth->columnCount();print("execute() の前に、結果セットには $colcount 列があります ( be 0)n");$sth->execute();/* 結果セット内の列数を計算します*/$colcount = $sth->columnCount();print("execute() 後、結果セット$colcount 列があります (2 である必要があります)n");?>
上記のルーチンは次を出力します。
execute() の前、結果セットには 0 列があります (0 である必要があります)。execute() 後、結果セットは 2 列あります (2 である必要があります)。