Руководство по РНР 3.0 - Функции ODBC
odbc_autocommit
odbc_autocommit -- Переключает режим автофиксирования (auto-commit)
Описание
int odbc_autocommit
(int connection_id, int [
OnOff
]);
Без параметра
OnOff
эта функция возвращает статус автофиксирования для
connection_id
. True возвращается, если автофиксирование включено,
false если оно выключено или если произошли ошибки.
Если параметр
OnOff
установлен в true, то автофиксирование включено, если параметр установлен в ложь,
то автофиксирование отключено.
True
возвращается при успешном завершении,
false
- при ошибке.
По умолчанию автофиксирование включено для соединения.
Отключение автофиксирования эквивалентно началу транзакции.
См. также
odbc_commit()
и
odbc_rollback()
.
odbc_binmode
odbc_binmode -- обработка двоичных данных
Описание
int odbc_binmode
(int result_id, int mode);
(ODBC SQL types affected: BINARY, VARBINARY, LONGVARBINARY)
-
ODBC_BINMODE_PASSTHRU: Передает двоичные данные
-
ODBC_BINMODE_RETURN: Возвращает как есть
-
ODBC_BINMODE_CONVERT: Конвертирует в символьный вид и возвращает значение
Когда двоичные данные SQL конвертируются в символьные данные C, каждый байт
(8 битов) исходных данных представляется как два ASCII символа.
Эти символы являются ASCII-представлением числа в шестнадцатиричной форме.
Например, двоичное 00000001 конвертируется в
"01"
и двоичное 11111111 конвертируется в
"FF"
.
Таблица 1. Обработка данных типа LONGVARBINARY
binmode |
longreadlen |
результат |
ODBC_BINMODE_PASSTHRU |
0 |
передает |
ODBC_BINMODE_RETURN |
0 |
передает |
ODBC_BINMODE_CONVERT |
0 |
передает |
ODBC_BINMODE_PASSTHRU |
0 |
передает |
ODBC_BINMODE_PASSTHRU |
>0 |
передает |
ODBC_BINMODE_RETURN |
>0 |
возвращает как есть |
ODBC_BINMODE_CONVERT |
>0 |
возвращает как символ |
Если была использована функция
odbc_fetch_into()
, то передача означает, что для этих полей будет возвращена пустая строка.
Если
result_id
равен
0
, то установки принимаются по умолчанию для новых результатов.
Замечание:
По умолчанию для longreadlen установлено
4096
и binmode по умолчанию -
ODBC_BINMODE_RETURN
. Обработка двоичных данных типа LONG также осуществляется
odbc_longreadlen()
odbc_close
odbc_close -- Закрывает ODBC-соединение
Описание
void odbc_close
(int connection_id);
odbc_close()
закрывает соединение с сервером баз данных, связанное с указанным идентификатором соединения.
Замечание:
Эта функция выдаст ошибку, если у этого соединения есть запущенные транзакции.
Соединение останется открытым в этом случае.
odbc_close_all
odbc_close_all -- Закрывает все ODBC-соединения
Описание
void odbc_close_all
(void);
odbc_close_all()
закрывает все соединения с сервером(серверами) баз данных.
Замечание:
Эта функция выдаст ошибку, если у этих соединений есть незавершенные транзакции.
В этом случае соединения останутся открытыми.
odbc_commit
odbc_commit -- Фиксирует транзакцию ODBC
Описание
int odbc_commit
(int connection_id);
Возвращает:
true
при успехе,
false
при ошибке.
Все незаконченные транзакции на
connection_id
фиксируются.
odbc_connect
odbc_connect -- Соединяет с источником данных
Описание
int odbc_connect
(string dsn, string user, string password);
возвращает идентификатор ODBC-соединения или 0 (
false
) при ошибке.
Идентификатор соединения, возвращаемый этой функцией, запрашивается другими
ODBC функциями. Вы можете иметь несколько соединений открытых одновременно.
Для постоянных соединений см.
odbc_pconnect()
.
odbc_cursor
odbc_cursor -- Получает имя курсора
Описание
string odbc_cursor
(int result_id);
odbc_cursor возвращает имя курсора для указанного result_id.
odbc_do
Описание
string odbc_do
(int conn_id, string query);
odbc_do запускает запрос на указанном соединении
odbc_exec
odbc_exec -- Подготовка и запуск SQL-запроса
Описание
int odbc_exec
(int connection_id, string query_string);
Возвращает
false
при ошибке. Возвращает ODBC-идентификатор результата,
если SQL команда была запущена успешно.
odbc_exec()
посылает SQL-запрос серверу баз данных, определенному параметром
connection_id
. Этот параметр должен быть правильным идентификатором, возвращенным функцией
odbc_connect()
or
odbc_pconnect()
.
См. также:
odbc_prepare()
and
odbc_execute()
для многократных запусков SQL-запросов.
odbc_execute
odbc_execute -- запускает подготовленный SQL-запрос
Описание
int odbc_execute
(int result_id, array
[
parameters_array
]);
Запускает SQL-запрос, подготовленный функцией
odbc_prepare()
. Возвращает
true
при успешном запуске,
false
о обратном случае. Массив
arameters_array
необходим только если вы действительно имеете параметры в вашем SQL-запросе.
odbc_fetch_into
odbc_fetch_into -- Извлекает одну строку результата в массив
Описание
int odbc_fetch_into
(int result_id, int [
rownumber
], array result_array);
Возвращает число столбцов в результате;
false
при ошибке.
result_array
может быть любого типа, так как он будет конвертирован в тип массив.
Массив будет содержать значения полей начиная с индекса 0 массива.
odbc_fetch_row
odbc_fetch_row -- Извлекает строку
Описание
int odbc_fetch_row
(int result_id, int [
row_number
]);
Если
odbc_fetch_row()
прошла успешно (строка существовала), то будет возвращено
true
. Если больше строк нет, то будет возвращеноfalse.
odbc_fetch_row()
Извлекает строку из данных, возвращенных функцией
odbc_do()
/
odbc_exec()
. После вызова
odbc_fetch_row()
, доступ к полям той строки может быть осуществлен с помощью функции
odbc_result()
.
Если параметр
row_number
не указан, то
odbc_fetch_row()
бедет пытаться извлечь следующую строку в результирующем наборе.
Вызов функции
odbc_fetch_row()
можно осуществлять как с, так и без параметра
row_number
.
Для использования результата более одного раза, вы можете вызвать
odbc_fetch_row()
с
row_number
1, и затем продолжить выполнять
odbc_fetch_row()
без
row_number
для просмотра результата. Если драйвер не поддерживает извлечение строк по номеру, то параметр
row_number
игонорируется.
odbc_field_name
odbc_field_name -- Возвращает имя столбца
Описание
string odbc_fieldname
(int result_id, int field_number);
odbc_field_name()
возвращает имя поля в соответствии с указанным номером столбца
в указанном ODBC-идентификаторе результата. Номера полей начинаются с 1.
false
возвращается при ошибке.
odbc_field_type
odbc_field_type -- тип данных поля
Описание
string odbc_field_type
(int result_id, int field_number);
odbc_field_type()
возвращает SQL тип поля в соответствии с номером в указанном ODBC-идентификаторе результата.
Номера полей начинаются с 1.
odbc_field_len
odbc_field_len -- возвращает длину поля
Описание
string odbc_field_type
(int result_id, int field_number);
odbc_field_type()
возвращает длину поля в соответствии с номером в указанном ODBC-идентификаторе
результата. Номера строк начинаются с 1.
odbc_free_result
odbc_free_result -- освобождает ресурсы, связанные с результатом
Описание
int odbc_free_result
(int result_id);
Всегда возвращает
true.
odbc_free_result()
необходимо вызывать только если вы беспокоитесь об использовании большого количества
памяти во время запуска вашего скрипта. Вся память результата будет автоматически
освобождена при завершении скрипта. Но, если вы уверены, что больше нигде в скрипте не будете
использовать данные результата, то вы можете вызвать
odbc_free_result()
, и память, связанная с параметром
result_id
будет освобождена.
Замечание:
Если автофиксирование отключено (см.
odbc_autocommit()
) вы можете вызвать
odbc_free_result()
и перед фиксированием все незавершенные транзакции будут откатаны назад.
odbc_longreadlen
odbc_longreadlen -- обработка полей типа LONG
Описание
int odbc_longreadlen
(int result_id, int length);
(Обрабатываемые ODBC SQL типы : LONG, LONGVARBINARY)
Число байтов, возвращенных PHP, контролируется длиной параметра.
Если она установлена в 0, то данные типа Long передаются клиенту.
Замечание:
Обработка полей типа LONGVARBINARY также осуществляется
odbc_binmode()
odbc_num_fields
odbc_num_fields -- число столбцов в результате
Описание
int odbc_num_fields
(int result_id);
odbc_num_fields()
возвращает число полей (столбцов) в результате ODBC. Эта функция
вернет -1 при ошибке. Аргумент является правильным результирующим идентификатором,
возвращенным
odbc_exec()
.
odbc_pconnect
odbc_pconnect -- Открывает постоянное соединение с базой данных
Описание
int odbc_pconnect
(string dsn, string user, string password);
Возвращает идентификатор ODBC соединения или 0 (
false
) при ошибке. Эта функция очень похожа на
odbc_connect()
, кроме того, что соединение в действительности не закрывается после завершения скрипта.
Будующие запросы на соединение с той же комбинацией параметров
dsn
,
user
,
password
(через
odbc_connect()
и
odbc_pconnect()
) могут повторно использовать постоянное соединение.
Замечание:
Постоянные соединения не действуют, если PHP используется как CGI программа.
Для подробной информации о постоянных соединениях см. PHP3 FAQ.
odbc_prepare
odbc_prepare -- Подготавливает запрос для запуска
Описание
int odbc_prepare
(int connection_id, string query_string);
Возвращает false при ошибке.
Возвращает ODBC-идентификатор результата, если SQL команда
была подготовлена успешно. Идентификатор результата может быть использован
для последеющего запуска запроса с помощью
odbc_execute()
.
odbc_num_rows
odbc_num_rows -- Число строк в результате
Описание
int odbc_num_rows
(int result_id);
odbc_num_rows()
возвращает число строк в ODBC результате. Эта функция вернет -1 при ошибке.
Для команд INSERT, UPDATE и DELETE
odbc_num_rows()
вернет число обработанных строк. Для случая SELECT это
может
быть число доступных строк.
Замечание: Использование
odbc_num_rows()
для определения числа строк, доступных после SELECT вернет -1 у многих драйверов.
odbc_result
odbc_result -- получает результирующие данные
Описание
string odbc_result
(int result_id, mixed field);
Возвращает содержимое поля.
поле
может быть целым числом, содержащим номер столбца необходимого вам поля, или
оно может быть строкой, содержащей имя поля. Например:
Первый вызов
odbc_result()
вернет значение третьего поля в текущей записи результата запроса.
Второй вызов функции
odbc_result()
возвратит значение поля, имя которого "val" в текущей записи результата запроса.
Ошибка возникнет, если параметр номера столбца для поля меньше, чем один или более
номеров столбцов (или полей) в текущей записи. Так же ошибка возникнет, если запрашивается
поле с именем, не совпадающем с именами полей в запрашиваемой таблице (таблицах).
Номера полей начинаются с 1.
Field indices start from 1. Относительно способа возврата двоичных данных
и данных типа LONG см. функции
odbc_binmode
()
and
odbc_longreadlen()
.
odbc_result_all
odbc_result_all -- Выдача результата в виде HTML таблицы
Описание
int odbc_result_all
(int result_id, string [
format
]);
Возвращает число строк в результате или
false
при ошибке.
odbc_result_all()
выдает все строки из идентификатора результата, полученного от
odbc_exec()
. Результат выдается в формате HTML таблицы. С дополнительным строковым аргументом
format
, может быть осуществлено дополнительное форматирование таблицы.
odbc_rollback
odbc_rollback -- Откат транзакции
Описание
int odbc_rollback
(int connection_id);
Откатавает все незаконченные запросы на
connection_id
. Возвращает
true
при успехе,
false
при ошибке.
Содержание