ScotlandPHP

sqlite_fetch_column_types

SQLiteDatabase::fetchColumnTypes

(PHP 5 < 5.4.0)

sqlite_fetch_column_types -- SQLiteDatabase::fetchColumnTypes Возвращает массив, содержащий информацию о типах полей в таблице

Описание

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

Объектно-ориентированный стиль (метод):

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

sqlite_fetch_column_types() возвращает массив, содержащий информацию о типах полей в указанной таблице table_name.

Список параметров

table_name

Название опрашиваемой таблицы.

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() при использовании процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

result_type

Необязательный параметр result_type принимает константу в качестве значения и определяет способ индексации возвращаемого массива. Использование константы SQLITE_ASSOC вернет только ассоциативные индексы (именованные поля), тогда как использование SQLITE_NUM вернет только числовые индексы (порядковые номера полей). По умолчанию используется SQLITE_ASSOC.

Возвращаемые значения

Возвращает массив с типами полей, или FALSE в случае ошибки.

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению конфигурационной опции sqlite.assoc_case.

Список изменений

Версия Описание
5.1.0 Добавлен параметр result_type

Примеры

Пример #1 Процедурный стиль

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

foreach (
$cols as $column => $type) {
    echo 
"Поле: $column  Тип: $type\n";
}
?>

Пример #2 Объектно-ориентированный стиль

<?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  Тип: $type\n";
}
?>

Результат выполнения данного примера:

Поле: bar  Тип: VARCHAR
Поле: arf  Тип: TEXT

add a note add a note

User Contributed Notes 3 notes

up
1
Anonymous
12 years ago
The problem with the permanently locked database file when using this function still seems to exist in PHP 5.0.3 (tested on win32).

However, you can get all the information you need about the fields of a table by using this query:

PRAGMA table_info(name_of_your_table);
up
-1
enthusiast
12 years ago
If I (OO version) try to add the contant SQLITE_ASSOC, (exactly as listed in the above example) it generates the following error:

SQLiteDatabase::fetchColumnTypes() expects exactly 1 parameter, 2 given in C:\....

If I remove it completely, it returns the associative array I expected.
up
-1
hugo_pl at users dot sourceforge dot net
13 years ago
This function, and the OO version, is bugged in PHP <= 5.0.1, locking the database until you restart the webserver.

http://bugs.php.net/bug.php?id=29476
To Top