PDOStatement::columnCount

Returns the number of columns in the result set

&reftitle.description; public `int` `PDOStatement::columnCount`

Use `PDOStatement::columnCount` to return the number of columns in the result set represented by the PDOStatement object.

If the PDOStatement object was returned from `PDO::query`, the column count is immediately available.

If the PDOStatement object was returned from `PDO::prepare`, an accurate column count will not be available until you invoke `PDOStatement::execute`.

&reftitle.parameters; &no.function.parameters;
&reftitle.returnvalues;

Returns the number of columns in the result set represented by the PDOStatement object, even if the result set is empty. If there is no result set, `PDOStatement::columnCount` returns `0`.

&reftitle.errors; &pdo.errors;
&reftitle.examples;

### Counting columns

This example demonstrates how `PDOStatement::columnCount` operates with and without a result set.

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

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

    /* Count the number of columns in the (non-existent) result set */
    $colcount = $sth->columnCount();
    print("Before execute(), result set has $colcount columns (should be 0)\n");

    $sth->execute();

    /* Count the number of columns in the result set */
    $colcount = $sth->columnCount();
    print("After execute(), result set has $colcount columns (should be 2)\n");

    ?>

&example.outputs;

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

&reftitle.seealso;

- `PDO::prepare`
- `PDOStatement::execute`
- `PDOStatement::rowCount`