# sqlite_fetch_column_types

# SQLiteDatabase::fetchColumnTypes

(PHP 5 < 5.4.0)

sqlite_fetch_column_types -- SQLiteDatabase::fetchColumnTypes — Return an array of column types from a particular table

### 说明

sqlite_fetch_column_types ( string `$table_name` , resource `$dbhandle` [, int `$result_type` = SQLITE_ASSOC ] ) : array

面向对象风格 (method):

public SQLiteDatabase::fetchColumnTypes ( string `$table_name` [, int `$result_type` = SQLITE_ASSOC ] ) : array

sqlite_fetch_column_types() returns an array of column data types from the specified `table_name` table.

### 参数

`table_name`

  The table name to query.

`dbhandle`

  The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

`result_type`

  The optional `result_type` parameter accepts a constant and determines how the returned array will be indexed. Using `SQLITE_ASSOC` will return only associative indices (named fields) while `SQLITE_NUM` will return only numerical indices (ordinal field numbers). `SQLITE_ASSOC` is the default for this function.

### 返回值

Returns an array of column data types; `FALSE` on error.

由 `SQLITE_ASSOC` 与 `SQLITE_BOTH` 返回的列名会依照 sqlite.assoc_case 配置选项的值决定大小写。

### 更新日志

版本 | 说明
--- | ---
5.1.0 | Added `result_type`

### 范例

Example #1 Procedural example

    <?php
    $db = sqlite_open('mysqlitedb');
    sqlite_query($db, 'CREATE TABLE foo (bar varchar(10), arf text)');
    $cols = sqlite_fetch_column_types('foo', $db, SQLITE_ASSOC);

    foreach ($cols as $column => $type) {
        echo "Column: $column  Type: $type\n";
    }
    ?>

Example #2 Object-oriented example

    <?php
    $db = new SQLiteDatabase('mysqlitedb');
    $db->query('CREATE TABLE foo (bar varchar(10), arf text)');
    $cols = $db->fetchColumnTypes('foo', SQLITE_ASSOC);

    foreach ($cols as $column => $type) {
        echo "Column: $column  Type: $type\n";
    }
    ?>

以上例程会输出：

    Column: bar  Type: VARCHAR
    Column: arf  Type: TEXT