int odbc_autocommit
(int connection_id, int [
OnOff
]);
Без параметра OnOff эта функция возвращает статус автофиксирования для connection_id . True возвращается, если автофиксирование включено, false если оно выключено или если произошли ошибки.
Если параметр OnOff установлен в true, то автофиксирование включено, если параметр установлен в ложь, то автофиксирование отключено. True возвращается при успешном завершении, false - при ошибке.
По умолчанию автофиксирование включено для соединения. Отключение автофиксирования эквивалентно началу транзакции.
См. также odbc_commit() и odbc_rollback() .
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()
void odbc_close
(int connection_id);
odbc_close() закрывает соединение с сервером баз данных, связанное с указанным идентификатором соединения.
Замечание: Эта функция выдаст ошибку, если у этого соединения есть запущенные транзакции. Соединение останется открытым в этом случае.
void odbc_close_all
(void);
odbc_close_all() закрывает все соединения с сервером(серверами) баз данных.
Замечание: Эта функция выдаст ошибку, если у этих соединений есть незавершенные транзакции. В этом случае соединения останутся открытыми.
int odbc_commit
(int connection_id);
Возвращает: true при успехе, false при ошибке. Все незаконченные транзакции на connection_id фиксируются.
int odbc_connect
(string dsn, string user, string password);
возвращает идентификатор ODBC-соединения или 0 ( false ) при ошибке.
Идентификатор соединения, возвращаемый этой функцией, запрашивается другими ODBC функциями. Вы можете иметь несколько соединений открытых одновременно. Для постоянных соединений см. odbc_pconnect() .
string odbc_cursor
(int result_id);
odbc_cursor возвращает имя курсора для указанного result_id.
string odbc_do
(int conn_id, string query);
odbc_do запускает запрос на указанном соединении
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-запросов.
int odbc_execute
(int result_id, array
[
parameters_array
]);
Запускает SQL-запрос, подготовленный функцией odbc_prepare() . Возвращает true при успешном запуске, false о обратном случае. Массив arameters_array необходим только если вы действительно имеете параметры в вашем SQL-запросе.
int odbc_fetch_into
(int result_id, int [
rownumber
], array result_array);
Возвращает число столбцов в результате; false при ошибке. result_array может быть любого типа, так как он будет конвертирован в тип массив. Массив будет содержать значения полей начиная с индекса 0 массива.
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 игонорируется.
string odbc_fieldname
(int result_id, int field_number);
odbc_field_name() возвращает имя поля в соответствии с указанным номером столбца в указанном ODBC-идентификаторе результата. Номера полей начинаются с 1. false возвращается при ошибке.
string odbc_field_type
(int result_id, int field_number);
odbc_field_type() возвращает SQL тип поля в соответствии с номером в указанном ODBC-идентификаторе результата. Номера полей начинаются с 1.
string odbc_field_type
(int result_id, int field_number);
odbc_field_type() возвращает длину поля в соответствии с номером в указанном ODBC-идентификаторе результата. Номера строк начинаются с 1.
int odbc_free_result
(int result_id);
Всегда возвращает true.
Замечание: Если автофиксирование отключено (см. odbc_autocommit() ) вы можете вызвать odbc_free_result() и перед фиксированием все незавершенные транзакции будут откатаны назад.
int odbc_longreadlen
(int result_id, int length);
(Обрабатываемые ODBC SQL типы : LONG, LONGVARBINARY) Число байтов, возвращенных PHP, контролируется длиной параметра. Если она установлена в 0, то данные типа Long передаются клиенту.
Замечание: Обработка полей типа LONGVARBINARY также осуществляется odbc_binmode()
int odbc_num_fields
(int result_id);
odbc_num_fields() возвращает число полей (столбцов) в результате ODBC. Эта функция вернет -1 при ошибке. Аргумент является правильным результирующим идентификатором, возвращенным odbc_exec() .
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.
int odbc_prepare
(int connection_id, string query_string);Возвращает false при ошибке.
Возвращает ODBC-идентификатор результата, если SQL команда была подготовлена успешно. Идентификатор результата может быть использован для последеющего запуска запроса с помощью odbc_execute() .
int odbc_num_rows
(int result_id);
odbc_num_rows() возвращает число строк в ODBC результате. Эта функция вернет -1 при ошибке. Для команд INSERT, UPDATE и DELETE odbc_num_rows() вернет число обработанных строк. Для случая SELECT это может быть число доступных строк.
Замечание: Использование odbc_num_rows() для определения числа строк, доступных после SELECT вернет -1 у многих драйверов.
string odbc_result
(int result_id, mixed field);
Возвращает содержимое поля.
поле может быть целым числом, содержащим номер столбца необходимого вам поля, или оно может быть строкой, содержащей имя поля. Например:
$item_3 = odbc_result($Query_ID, 3 ); $item_val = odbc_result($Query_ID, "val");
Первый вызов odbc_result() вернет значение третьего поля в текущей записи результата запроса. Второй вызов функции odbc_result() возвратит значение поля, имя которого "val" в текущей записи результата запроса. Ошибка возникнет, если параметр номера столбца для поля меньше, чем один или более номеров столбцов (или полей) в текущей записи. Так же ошибка возникнет, если запрашивается поле с именем, не совпадающем с именами полей в запрашиваемой таблице (таблицах).
Номера полей начинаются с 1. Field indices start from 1. Относительно способа возврата двоичных данных и данных типа LONG см. функции odbc_binmode () and odbc_longreadlen() .
int odbc_result_all
(int result_id, string [
format
]);
Возвращает число строк в результате или false при ошибке.
odbc_result_all() выдает все строки из идентификатора результата, полученного от odbc_exec() . Результат выдается в формате HTML таблицы. С дополнительным строковым аргументом format , может быть осуществлено дополнительное форматирование таблицы.
int odbc_rollback
(int connection_id);
Откатавает все незаконченные запросы на connection_id . Возвращает true при успехе, false при ошибке.