|
Аналог функции fetch_column_types в SQLite3 ?
|
|||
---|---|---|---|
#18+
Добрый день, всем участникам форума. Такой вопрос: существует ли аналог функции fetch_column_types в " SQLite3 " или как ее можно заменить? Пример : создана база sqlite с таблицей "InfoPeople", в ней поля: "Name" и "Surname" - строковые, "Age" - целое, "DateBirth" - дата. С помощью функции fetch_column_types "sqlite" я получаю в php ассоциативный массив на выходе: $con_db= sqlite_open('server.db'); $cols = sqlite_fetch_column_types('InfoPeople', $con_db, SQLITE_ASSOC); print_r($cols); Array ([Name] => TEXT [Surname] => TEXT [Age] => INTEGER [DateBirth] => DATE) Создана такая же база в "SQLite3" . Как получить идентичный результат? Существует ли в " SQLite3 " аналог fetch_column_types или чем ее можно заменить? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 19:20 |
|
Аналог функции fetch_column_types в SQLite3 ?
|
|||
---|---|---|---|
#18+
sqlite3_column_type()? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:22 |
|
Аналог функции fetch_column_types в SQLite3 ?
|
|||
---|---|---|---|
#18+
White Owlsqlite3_column_type()? К сожалению эта функция возвращает лишь тип столбца, номер которого указывается в параметре этой функции. Конечно, есть еще функция sqlite3_column_name() , которая возвращает имя столбца, и sqlite3_num_columns() , возвращающая количество столбцов в выборке. Но, даже если я буду использовать эти три функции, то для получения желаемого результата в " SQLite3 ", мне понадобится: 1. выполнить выборку, к примеру: $res = $con_db->query("SELECT * FROM InfoPeople"); 2. вычислить количество полей в выборке: $cnt = $res->numColumns(); и создать массив: $cols = array(); 3. и наконец, организовать цикл, например: for($i = 0; $i < $cnt; $i++) { $cols[$res->columnName[$i]] = $res->columnType[$i]; } Я думаю на выполнение этого кода, затрачивается больше времени, в то время, как в "sqlite", достаточно: $cols = sqlite_fetch_column_types('InfoPeople', $con_db, SQLITE_ASSOC); Поэтому, я и интересуюсь на форуме, есть ли более простое решение или функция в " SQLite3 "? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 22:31 |
|
Аналог функции fetch_column_types в SQLite3 ?
|
|||
---|---|---|---|
#18+
ааа... Ну тогда просто читай описание таблицы из sqlite_master и сам разбирай какие там типы полей заявлены. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 01:50 |
|
Аналог функции fetch_column_types в SQLite3 ?
|
|||
---|---|---|---|
#18+
White Owlааа... Ну тогда просто читай описание таблицы из sqlite_master и сам разбирай какие там типы полей заявлены. Благодарю за помощь, коллега по работе подсказал хороший вариант " Использование PRAGMA c параметром table_info ": Реализовал так: $res = $con_db->query("PRAGMA table_info(InfoPeople)"); // получение информации о структуре таблицы $cols = array(); while($row = $res->fetchArray()) { $cols[$row[1]] = $row[2]; // формирование ассоциативного массива cols с именами столбцов - ключей и типов столбцов - значений } Тему можно закрывать, спасибо всем за помощь... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 20:00 |
|
|
start [/forum/topic.php?fid=54&msg=38395230&tid=2008872]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 403ms |
0 / 0 |