Взаимодействие с базами данных
В дополнение к поддержке обыкновенных драйверов ODBC, данная группа функций разрешает трудиться с базами данных, поддерживающими так называемый интерфейс Unified ODBC. В число БД, использующих API Unified ODBC, входят: Adabas D (http://www.adabas.com), IBM DB2 (http://www.ibm.com/db2), iODBC (http://www.iodbc.org), Solid (http://www.solidtech.com) и Sybase SQL Anywhere (http://www. sybase.com). Схемы работы с разными БД фактически одинаковы и различаются только в отношении внутреннего функционирования серверов БД. См. также раздел «Инсталляция в системах Unix» касательно конфигурирования поддержки этих БД при компиляции. Подметьте, что применение драйверов ODBC снижает эффективность и не является оправданным, если, финально, вы не планируете менять БД вашего приложения довольно зачастую. Больше оправданно применять первичные функции РНР интерфейса соответствующей БД. Но что касается БД с интерфейсом Unified ODBC, то тут не применяются сами ODBC драйверы, примитивно все они применяют цельную архитектуру API, аналогичную ODBC. odbc_connect Подключение к источнику данных (БД) int odbc_connect (string dsn. string user, string password [, int cursor J:ype]) Возвращает дескриптор подключения к БД (применяемый последующими функциями) либо О (FALSE) при ошибке. Единовременно дозволено открывать несколько подключений. В всеобщем случае для открытия подключения нужно указывать имя системного источника данных DSN, имя и пароль заказчика. В Unix-системах изредка появляется загвоздка подключений, которая может быть устранена указали- ем параметров подключения в одной строке довода dsn в виде В необязательном четвертом доводе дозволено указать тип курсора БД, и это зачастую помогает решить задачи с некоторыми БД; скажем, при попытке выполнения хранимых процедур (при вызове которых появляется оплошность типа: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it"), и в таких случаях может подмогнуть указание типа курсора SQL_CUR_ USE_ODBC. Тип курсора может быть указан одной из следующих констант:
odbc_pconnect Создание устойчивого подключения int odbc_pconnect (string dsn, string user, string password [, \ int cursor_type]) Возвращает дескриптор подключения к БД либо FALSE — при ошибке. Перед подключением функция пытается проверить, имеется ли теснее открытое (устойчивое) подключение с параметрами (имя источника данных, пользователя и пароль), аналогичными указанным. Если такое подключение обнаруживается, то возвращается его идентификатор взамен создания нового подключения. При заключении сценария подключение не закрывается, а остается действительным для последующего применения. Но устойчивые подключения не работают, если РНР запускается в режиме CGI. odbc_close Закрытие сеанса подключения ODBC void odbc_close (int connection_id) Подметьте, при имеющихся незавершенных транзакциях функция не закрывает подключение. odbc_close_all Закрытие всех подключений ODBC void odbc_close_aTI(void); odbc_cursor Определение типа курсора для подключения string odbc_cursor (int result_id) Возвращает имя курсора, используемого в подключении result_ld. odbc_do Синоним odbc_exec int odbc_do (int conn_id, string query) odbc_exec Выполнение запроса SQL int odbc_exec (int connection_id, string query_string) Возвращает дескриптор комплекта записей, возвращенных запросом query_string, либо FALSE — при ошибке. Параметр connectionjid должен быть ранее благополучно возвращен функцией odbc_connect() либо odbc_pconnect(). См. также: odbc_prepare() и odbc_execute(). odbc_prepare Подготовка запроса int odbc_prepare (int connection_id, string query_string)[ Функция возвращает дескриптор запроса, тот, что после этого исполь зуется в функции odbc_execute() для его исполнения, либо FALSE — в случае ошибки. odbc_execute Выполнение подготовленного запроса int odbc_execute (int result_id [, array parameters_array]) Исполняет запрос resu1t_id, подготовленный функцией odbc_prepare(). Возвращает TRUE либо FALSE — при ошибке. В массиве parameters_array дозволено указать параметры запроса, если они требуются. odbc_autocommit Переключение режима транзакций autocommit int odbc_autocommit (int connection_id [, int OnOff]) Если не указывается довод OnOff, функция возвращает нынешнее состояние auto-commit для подключения connection_id. True обозначает «разрешено», a FALSE — «не разрешено» либо случилась оплошность. Если в значении довода OnOff указывается значение TRUE, то дальнейшие запросы исполняются немедленно, если FALSE — то они откладываются до вызова функции odbc_commit() (таким образом формируя транзакцию). При этом возвращается TRUE либо FALSE — при ошибке. По умолчанию вес запросы исполняются немедленно, и воспрещение состояния auto-commit равносильно началу транзакции. См. также: odbc_commit() и odbc_rollback(). odbc_commit Заключение транзакции int odbc_commit (int connectiorMd) Исполняет все отложенные запросы (транзакцию) для подключения connectiorMd и возвращает TRUE либо FALSE — при ошибке. odbc_rollback Отмена транзакции int odbc_rollback (int connection_id) Отменяет псе отложенные запросы (транзакцию) для подключения connection_id и возвращает TRUE либо FALSE — при ошибке. odbc_num_rows Приобретение числа возвращенных записей int odbc_num_rows (int resulted) ; В доводе указывается дескриптор итога, возвращенный ODBC ' запросом. При ошибке возвращается -1. Для запросов INSERT, UPDATE и DELETE возвращается число вставленных, измененных, удаленных записей; для запроса SELECT — число возвращенных запросом записей (некоторые драйверы возвращают -1 вне зависимости от того, сколько записей было возвращено). odbc_num_fields Определение числа полей в итоге int odbc_num_fields (int result_id) В доводе указывается дескриптор итога, возвращенный ODBC запросом (функцией odbc_exec()). Функция возвращает число полей (столбцов), содержащихся в комплекте записей, возвращенных запросом, либо -1 в случае ошибки. Обработка полей LONGVARBINARY определяется odbc_binmode(). odbc_result Приобретение данных итога запроса string odbc_result (int result_id, mixed field) Возвращает содержимое поля, указанного доводом field нынешней записи. Поле может быть указано номером (начиная с 1) либо именем: $item_3 = odbc_result ($Query_ID. 3); Данные полей типа long либо двоичные данные возвращаются согласно установкам функций odbc_binmode() и odbcJongreadlen(). odbc_result_all Распечатка итога запроса в таблице HTML int odbc_result_all (int result_id [. string format]) Возвращает число выведенных записей либо FALSE — при ошибке. В доводе result_id указывается дескриптор комплекта записей, возвращенный функцией odbc_exec(), а в строке format дозволено указать признаки тега <TABLE ... >. odbc_fetch_row Установка курсора нынешней записи int odbc_fetch_row (int resu!t_id [, int rowjiumber]) Выбирает запись номер rowjiumber (либо по умолчанию следующую) . из комплекта записей resultjid, возвращенного функциями odbc_do() либо odbcjaxec(). Возвращает TRUE либо FALSE — при ошибке (скажем, когда записи с таким номером не существует). Дальнейшие вызовы odbc_result() будут возвращать данные из выбранной записи. Нумерация начинается с 0. Не все драйверы допускают произвольный выбор записи. $сnn = odbc_conrect odbc_fetch_into Занесение полученной записи в массив int odbc_fetch_into (int result id [, int rownumber. array resu"lt_array]) Заносит поля записи номер rownumber из комплекта записей result_id в элементы массива resu"lt_array. Возвращает число полей комплекта записей (итога запроса) либо FALSE — при ошибке. $cnn = odbc_connect odbc_ field_name Определение имени поля string odbc_field_name (int result_id, int field_number) Возвращает имя поля по его номеру field_number в комплекте записей result_id. Нумерация начинается с 1. При ошибке возвращает FALSE. odbc_field_num Определение порядкового номера поля int odbc_field_num (int result_id, string field_name) Возвращает номер поля по его имени field_name в комплекте записей result_id. Нумерация начинается с 1. При ошибке возвращает FALSE. odbc_field_type Приобретение типа данных поля string odbc_field_type (int resulted, int fieldjiumber) Возвращает SQL-тип поля с номером field_number в комплекте записей result_id. Нумерация начинается с 1. При ошибке возвращает FALSE. odbc_field_len Приобретение длины (точности) поля int odbc_field_len (int resultjid, int fieldjiumber) См. также: odbc_field_scale(). odbc_field_precision Синоним odbc_fieldjen() string odbc_field_precision (int result_id, int field_number) odbc_field_scale Определение точности поля string odbc_field_scale (int result_id, int field_number) Функция возвращает число сберегаемых десятичных знаков позже запятой для полей дробных чисел. odbc_free_result Освобождение источников, занятых комплектом записей int odbcjreej-esult (Int result_id) Неизменно возвращает TRUE. От того что при заключении сценария освобождаются вес выделенные ему источники, применять данную функцию имеет толк только в случае крайней экономии памяти, расходуемой сценарием. Если транзакция была начата, но не закончена (см. odbc_autocommit()), данная функция отменяет ее. odbc_binmode Определение обработки двоичных полей int odbc_binmode (int result_id, int mode) Функция управляет обработкой полей ODBC SQL типов BINARY, VARBINARY, LONGVARBINARY. Если resultjd равен О, то установки будут использоваться к новым комплектам записей.
Пропуск (в нервом случае) обозначает, что при применении функции odbc_fetch_into() для полей этого типа будет возвращаться nycтая строка. В последнем случае конвертация обозначает, что весь байт данных будет представлен двумя шестнадцатсричными цифрами, скажем, двоичный байт 00000001 будет представлен как "01", а 11111111 — как "FF". Обработка длинных двоичных полей также зависит от параметра, установленного функцией odbcJongreadlen().
odbc_longreadlen Обработка полей LONG int odbc_longreadlen (int result_id, Int length) Функция управляет обработкой полей ODBC SQL типов LONG, LONGVARBINARY. В доводе length указывается, сколько байтов следует возвращать из полей данных типов. По .умолчанию возвращается 4096 байтов. См. также odbc_binmode(). odbc_setoption Настройка параметров ODBC int odbc_setoption (int id. int function, int option, int parara) Если в доводе function указывается значение 1, то тогда настраиваются параметры подключения (в этом случае в доводе id нужно указывать дескриптор подключения); если указывается 2, то настраиваются параметры запроса (тогда в id указывается настраиваемый запрос). Это дозволяет устранить загвоздки с некоторыми оригинальными драйверами ODBC. Безусловно, вы обязаны понимать, какой результат будет иметь установка того либо другого параметра для определенного драйвера. Пользуйтесь документацией ODBC и не забывайте, что 1 функциональность разных версий драйверов может различаться. Потому что применение этой функции мощно зависит от специфики ODBC драйвера, применять ее в публикуемых сценариях РНР не рекомендуется. Имейте также в виду, что некоторые параметры доступны только позже открытия подключения либо подготовки запроса. Довод option - номер устанавливаемого параметра, а рагат — ее значение. При ошибке возвращается FALSE; напротив TRUE. // Номер параметра SQL_AUTOCOMM!T odbc_tables Приобретение списка таблиц источника данных int odbc_tables (Int connection_id [, string qualifier [, string owner [, string name [, string table_type>) Возвращает в комплекте записей перечисление имеющихся в источнике данных connection_id таблиц (определенного типа table_type). Возвращаемый комплект записей содержит следующие нуля:
Возвращаемый комплект записей сортируется в порядке: TABLE_TYPE, TABLE_ QUALIFIER, TABLEJJWNER, TABLE_NAME. Доводы owner и name могут содержать образцы («%» заменяет нуль и больше символов, а «_» — один символ). Дабы получить перечисление допустимых значений доводов qua- / li-ficr, owner и table type, применяется дальнейшая семантика:
Если table_type не пустая строка, то она должна содержать перечисление через запятую типов запрашиваемых таблиц, (скажем, в виде: «'TABLE1.'VIEW'» либо «TABLE, VIEW»). $rs = odbc_tables($cnn. "".""."%".
'TABLF" ): См. также odbc_tableprivileges(). odbc_tableprivileges Приобретение списка привилегий таблиц int odbc_tableprivileges (int connect1on_id [, string qualifier [, string owner [, string name]]]) Возвращает список таблиц и присвоенных им привилегий в комплекте записей либо FALSE при ошибке. Возвращаемый комплект записей сортируется в порядке: TA8LEJUALIFIER, TA8LE_OWNER, TABLEJAME и содержит следующие поля:
Доводы owner и name могут содержать образцы («%» заменяет .. нуль и больше символов, а «_» — один символ). См. изложение odbc tables(). odbc_statistics Приобретение изложения таблицы int odbc_statisties (int connection_id, string qualifier, string owner, string tablejiame, int unique, int accuracy) Возвращает список таблиц и их индексов в комплекте записей либо FALSE — при ошибке. Возвращаемый комплект записей сортируется в порядке: NONJJNIQUE, TYPE, INDEX_QUALIFIER, INDEXJAME и SEQ_IN_INDEX и содержит следующие нуля:
odbc_columns Перечисление полей заданной таблицы int odbc_columns (int connection_id [, string qualifier [, string owner [, string tablejiame [, string column_name>) Возвращает список полей таблицы table_name в комплекте записей либо FALSE — при ошибке. Возвращаемый комплект записей сортируется в порядке: TABLE_QUALIFIER, TABLE_OWNER и TABLEJAME и содержит следующие поля:
Доводы owner, tablejname и columnjiame могут содержать образцы («%» заменяет нуль и больше символов, а «_» — один символ). См. также odbc_columnprivileges(). odbc_columnprivileges Перечисление полей заданной таблицы с их привилегиями int odbc_co1umnprivileges (int connection_id [, string qualifier [, string owner [, string table_name [, string column_name>) Возвращает список полей таблицы table_name в комплекте записей либо FALSE — при ошибке. Возвращаемый комплект записей сортируется в порядке: TABLE_QUALIFIER, TABLE_OWNER и TABLE_NAME и содержит следующие поля:
Довод column_name может содержать образцы («%» заменяет нуль и больше символов, а <<_» — один символ). odbc_gettypeinfo Определение типов поддерживаемых данных int odbc_gettypeinfo (Int connectien_id [, int data_type]) Возвращает комплект записей, содержащий перечисление поддерживаемых БД типов данных; если нужно узнать, поддерживается ли определенный тип данных, его нужно указать в доводе data_type. При ошибке возвращается FALSE. А В комплекте записей возвращаются следующие поля:
Записи сортируются по полям DATA_TYPE и TYPE_NAME. odbc_primarykeys Подбор поля, способного быть первичным ключом таблицы int odbc_primarykeys (int connection_id, string qualifier, string owner, string table) Возвращает комплект записей, содержащий список полей, которые могут претендовать на роль первичного ключа таблицы table. При ошибке возвращается FALSE. В комплекте записей возвращаются следующие поля:
odbc_foreignkeys Приобретение списка внешних ключей int odbc_foreignkeys (int connection_id, string pk_qualifier, string pk_owner, string pk_table, string fk_qualifier, string fk_owner, string fk_table) Если pk_table содержит имя таблицы, то функция возвращает комплект записей, содержащий первичный ключ этой таблицы и все внешние ключи (foreign keys), которые на него ссылаются. Если fk_tab!e содержит имя таблицы, то функция возвратцает комплект записей, содержащий все внешние ключи этой таблицы и корреспондирующие первичные ключи в иных таблицах. Если и pk_table и fk_table содержат имена таблиц, функция возвращает внешний ключ таблицы fk_table, тот, что указывает на первичный ключ в таблице pk_table. В возвращаемом комплекте записей содержатся следующие поля:
odbc_procedures Приобретение списка хранимых процедур int odbc_procedures (int connection_id [, string qualifier [, string owner [, string name]]]) Возвращает список хранимых процедур name в комплекте записей, содержащем следующие поля:
Доводы owner и name могут содержать образцы («%» заменяет нуль и больше символов, а «_» — один символ). odbc_procedurecolumns Приобретение списка параметров хранимых процедур int odbc_procedurecolumns (int connection_id [, string qualifier [, string owner [, string proc [, string column>) Возвращает список хранимых процедур (с их входными и выходными параметрами и изложением возвращаемых ими полей) в комплекте записей, содержащем следующие поля:
Записи сортируются по полям PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME и COLUMNJYPE. Доводы owner, ргос и column могут содержать образцы («%» заменяет нуль и больше символов, а «_» — один символ). odbc_specialcolumns Приобретение списка особых полей int odbc_specialcolumns (int connectionjd, int type. string qualifier, string owner, string table, int scope, int nullable) Если в доводе type указано значение SQL_BEST_ROWID, возвращаются поля, уникально идентифицирующие всякую запись в таблице. Если в доводе type указано значение SQLJ!OWVER, возвращаются оптимальные нуля, извлекая значения которых, дозволено уникально идентифицировать всякую запись указанной таблицы (вне зависимости от изменений, изготавливаемых в таблице). Поля возвращаются в комплекте записей (сортируемом по полю SCOPE), содержащем следующие нуля:
Эти функции дозволяют трудиться с серверами БД MySQL. См. также документацию но адресу: http://www.mysql.com/documentation/. mysql_connect Подключение к серверу MySQL int mysql_connect ([string hostname[:port][:/path/to/socket] [, string username [, string password]]]) Возвращает дескриптор подключения к БД либо FALSE — при ошибке. Традиционно дальнейшим шагом янляется выбор БД на сервере функцией mysql_selectjJb(). Для неуказанных доводов применяются следующие умолчания: host:port = 'localhost:3306', username = имя пользователя запустившего нынешний процесс сервера password = ""; либо значения из файла конфигурации. Строка hostname может также включать номер порта (в виде "hostname: port") либо путь к соксту для локальной машины в системах Unix":/path/to/socket". При ошибке также выдается предупреждение. Выдачу предуиреждения дозволено блокировать, указав перед именем функции оператор «@». Если функция вторично вызывается с теми же доводами, новое подключение не создается, а возвращается идентификатор имеющегося. В конце сценария принято закрывать подключение функцией mysql_ close(), но это дозволено не делать, от того что РHР механически закрывает все (неустойчивые) подключения при заключении сценария. <?php См. также: mysql_pconnect() и mysql_close(). mysql_pconnect Создание устойчивого подключения к серверу MySQL int mysql pconnect ([string hostname[ port][:/path/to/socket] [, string username [, string password]]]) Возвращает дескриптор подключения к БД либо FALSE — при ошибке (также выдается предупреждение). Традиционно дальнейшим шагом является выбор БД на сервере функцией mysql_select_db(). Для неуказанных доводов применяются следующие умолчания: host:port = 'localhost:3306', username = имя пользователя запустившего нынешний процесс сервера password = ""; либо значения из файла конфигурации. Строка hostname может также включать номер порта (в виде "hostname: port") либо путь к соксту для локальной машины в системах Unix ":/path/to/socket". mysql_pconnect() действует аналогично mysql_connect() с двумя различиями.
mysql_close Отключение от сервера MySQL int mysql_close ([int 1ink_identifier]) : Возвращает TRUE либо FALSE - при ошибке. Идентификатор закрываемого подключения указывается в доводе; если его не указывать, то закрывается последнее открытое данным сценарием подключение. Реально применение данной функции не является непременным, так как РНР механически закрывает все незакрытые неустойчивые подключения при заключении сценария. Подметьте: устойчивые подключения, сделанные функцией mysql_ pconnect(), не закрываются. См. также: mysql_connect() и mysql pconnect(). tmysql_change_user Метаморфоза параметров подключения int mysql_change_user (string user, string password [. string database [, int linkjidentifier]]) Если не указываются БД либо подключение, то применяется последняя энергичная БД. Если авторизация проходит бесплодно, параметры подключения не изменяются. Работает с MySQL 3.23.3 и выше. mysq_l list_dbs Приобретение списка БД на сервере MySQL int mysql_list_dbs ([int link_identifier]) Возвращает комплект записей, содержащий список БД на сервере. Slink = mysql_connect В данном примере также может применяться функция mysql_ fetch_row() либо ей сходственная. Подметьте: список дозволено получить, не имея привилегий, то есть не указывая пароль доступа. Ранее функция именовалась mysq'Mistdbs(). mysql_db_name Приобретение имени БД из списка int mysql_db_name (int result, int row [, mixed field]) В доводе result указывается дескриптор комплекта записей, полученный от функции mysql_list_dbs(). В доводе row указывается номер записи. При ошибке возвращает FALSE. Реально данная функция является излишней. <?php error_reportirg(E_ALL); Ранее функция именовалась mysql_dbname(). mysql_select_db Выбор БД MySQL int mysql_select_db (string database_name [, int link_identifier]) Возвращает TRUE либо FALSE — при ошибке. Устанавливает БД с именем database_name, энергичной для нынешнего либо указанного в link_identifier подключения. Если подключений не имеется, то неявно вызывается функция mysql_connect() с параметрами по умолчанию. Дальнейшие запросы, исполняемые функцией, будут адресованы данной БД. См. также: mysql_connect(), mysqlj>connect() и mysql_query(). Ранее функция именовалась mysql_selectdb(). mysql_create_db Создание БД MySQL int mysql_create_db (string dbnarae [, int link_identifier]) Сделает БД dbname, применяя подключение link_identifier. <?php / Ранее функция именовалась mysql_createdb(). См. также mysql_drop_db(). mysql_drop_db Удаление БД int mysql_drop_db (string databasejname [, int link_identifier]) Возвращает TRUE, если БД databasejiame благополучно удалена, либо FALSE — при ошибке. См. также mysql_create_db(). Ранее функция именовалась mysql_dropdb(). mysql_ list_tables Приобретение списка таблиц в БД int mysql_list_tables (string database [. int linkjidentifier]) Возвращает комплект записей, из которого дозволено извлечь имена таблиц функцией mysql_tablename(). Дальнейший пример распечатывает имена всех БД и таблиц, в них содержащихся. <? Ранее функция именовалась mysql_listtables(). mysql_tablename Приобретение имени таблицы string mysql_tablename (int result, int i) Функция применяется для приобретения имени таблицы (с номером i) из комплекта записей, возвращенного функцией mysql_list_tables(). <?php mysql_query Выполнение запроса к БД int mysql_query (string query [, int linkjdentifier]) Посылает запрос нынешней БД, энергичной для нынешнего подключения либо указанного в link_identifier. Если подключений не имеется, то неявно вызывается функция mysql_connect() с параметрами по умолчанию. Подметьте: SQL-выражение, указанное в доводе query, не должно оканчиваться точкой с запятой. Если выражение содержит ошибки либо при его выполнении появляются ошибки (скажем, если нынешние привилегии не дозволяют исполнить запрос), то функция возвращает FALSE. Если запрос благополучно выполнился, то возвращается комплект записей (не забывайте, он также может содержать 0 записей), тот, что может быть обработан функциями:
Дабы узнать, сколько записей было возвращено командой SELECT, используйте функцию mysql_num_rows(); а дабы узнать, сколько записей было изменено в итоге выполнения запросов DELETE, INSERT, REPLACE либо UPDATE, используйте функцию mysql_affected_rows(). Позже обработки итогов запроса он может быть удален функцией mysql_free_result(). Правда в этом ист необходимости, потому что источники механически освобождаются при заключении сценария. См. также: mysql_db_query(), mysql_select_db() и raysql_connect(). mysql_db_query Выполнение запроса к указанной БД int mysql_db_query (string database, string query [, int linkjdentifier]) Функция равнозначна ступенчатому выполнению функций: mysql_select_db (string database [. int linkjdentifier]); mysql_query (string query [. int link_identifier]}; См. также: mysql_db_query(), mysql_connect(). Ранее функция именовалась mysql(). mysql_num_rows Приобретение числа возвращенных записей int mysql_num_rows (int result) Функция возвращает число записей, возвращенных командами SELECT. Дабы узнать, сколько записей было изменено в итоге выполнения запросов DELETE, INSERT, REPLACE либо UPDATE, используйте функцию mysql_affected_rows(). <?php См. также: mysql_db_query(), mysql_query() и mysql_fetch_row(). Ранее функция именовалась mysql_numrows(). mysql_affected_rows Приобретение числа измененных записей в БД int mysql_affected_rows ([int link_iidentifier]) Возвращается число записей, измененных в итоге выполнения запросов DELETE, INSERT, REPLACE либо UPDATE. Если последним запросом была команда DELETE без ограничения WHERE, то из таблицы будут удалены все записи, но эта функция возвратит 0. Дабы узнать, сколько записей было возвращено командой SELECT, используйте функцию mysql_num_rows(). mysql_insert_id Получение значения последнего автоинкремента int mysqi_insert_id ([int link_identifier]) При добавлении записей в таблицу командой INSERT для поля, имеющего качество AUTO_INCREMENT, значение генерируется механически (вне зависимости от того, было ли оно задано) и его дозволено получить с поддержкой этой функции. Это значение дозволено применять для модификации последней добавленной записи. Это значение также дозволено получить с поддержкой SQL запроса MySQL: "SELECT LASTJNSERTJDO". Если последним запросом значение AUTO_INCREMENT сгенерировано не было, то функция возвратит 0. Подметьте также, что если тип автоин-крементируемого поля был BIGINT, то он будет преобразован к типу LONG, и итог может быть неверным. Команда LAST_INSERT_ID() имеет два превосходства: она неизменно хранит значение последнего автоинкремента (это значение не сбрасывается в 0 между запросами) и она неизменно возвращает верное значение. mysql_data_seek Перемещение курсора комплекта записей int mysql_data_seek (int result_identifier, int rowjiumber) При всем вызове функции mysql_fetch_row() (либо сходственной ей) внутренний курсор записи смешается на следующую запись. Данная функция разрешает вольно перемещать курсор в комплекте записей result_identifier, так, дабы он указывал на запись с номером row_ number (нумерация начинается с 0). Функция возвращает TRUE либо FALSE — при ошибке. <?php mysql_free_result Истребление комплекта записей int mysql_free_result (int result) Функция освобождает память, занимаемую комплектом записей result, возвращенным запросом. Ее следует применять только в том случае, если доводится дюже экономить память, потому что память механически освобождается при заключении сценария. Ранее функция именовалась mysql_freeresult(). Обработка итогов запроса mysql_result Приобретение определенного элемента комплекта записей mixed mysql_result (int result, int row [, mixed field]) Возвращает содержимое ячейки из комплекта записей resul t. В доводе row указывается номер записи (нумерация начинается с 0), в доводе field дозволено указать индекс поля (число), имя поля либо полное имя поля (вида: «имя_таблицы.имя_поля») либо псевдоним поля (для запросов типа 'SELECT foo AS bar FROM...'). При работе с крупными комплектами записей стремительней выполняются функции типа _fetch_ (см. ниже). Также подметьте, что численные индексы обрабатываются стремительней строковых. Не следует вызывать функцию mysql_result() в сочетании с другими функциями обработки комплекта записей. Рекомендуется применять альтернативные функции: mysql_fetch_ row(), mysql_fetch_array() и mysql_fetch_object(). mysql_fetch array Занесение записи в массив array mysql_fetch_array (int result [, int result_type]) Возвращает массив, соответствующий нынешней записи, из комплекта записей result, возвращенных запросом, либо FALSE, если записей больше не имеется. Данная функция является растяжением функции mysql_fetch_row(), и она может возвращать нумерованный либо ассоциативный массив (а также объединенный). Вид возвращаемого массива может указываться в доводе result_type одной из констант: MYSQL NUM, MYSQL_ ASSOC, MYSQL_BOTH (по умолчанию). В ассоциативных массивах индексами служат имена нулей. Если имеются одноименные поля, применяется последнее. Для доступа к одноименным полям также дозволено применять числовые индексы (поля нумеруются в той последовательности, в которой указаны в запросе либо в таблице) либо псевдонимы. SELECT tl.fl AS tl_fl t2.fi AS t2_fl FROM tl. t2 Подметьте, что функция работает лишь немножко неторопливей, чем mysql_ fetch_row(), но предоставляет дополнительную функциональность. <?php См. также: mysql_fetch_row() и mysql_fetch_assoc(). mysql_fetch_row Занесение записи в нумерованный массив array mysql_fetch_row (int result) Возвращает массив, соответствующий нынешней записи, из комплекта записей result, возвращенных запросом (дальнейший вызов функции возвращает следующую запись), либо FALSE, если записей больше не имеется. Всякое поле записи сохраняется в нумерованном элементе массива (нумерация начинается с 0). См. также: mysql_fetch_array(), mysql_fetch_object(), mysql_data_seek(), mysql_fetch_lengths() и mysql_result(). mysql_fetch_assoc Занесение записи в ассоциативный массив array mysql_fetch_assoc (int result) Возвращает массив, соответствующий нынешней записи, из комплекта записей result, возвращенных запросом, либо FALSE, если записей больше не имеется. Вызов функции равнозначен mysql_fetch_array (result, MYSQL_ASSOC). В возвращаемом массиве индексами служат имена полей. Если имеются одноименные поля, применяется последнее. Для доступа к остальным одноименным полям дозволено применять псевдонимы либо функцию raysql_fetch_array(). Подметьте, что функция работает лишь немножко неторопливей, чем mysql_ fetch_row(), но предоставляет дополнительную функциональность. <?php CM. также: mysql_fetch_row() и mysql_fetch_array(). mysql_fetch_object Приобретение записи в свойствах объекта object mysql_fetch_object (int result) Возвращает объект, в свойствах которого находятся поля нынешней записи, либо FALSE, если записей больше не имеется. По скорости выполнения функция одинакова mysql_fetch_array() и примерно одинакова mysql_fetch_row(). <?php См. также: mysql_fetch_array() и mysql_fetch_row(). ImysqI_fetch_lengths Получение длины элементов записи array mysql_fetch_lengths (int result) Позже того как запись была обработана одной из функций: mysql_ fetch_row(), mysql_fetch_array() либо mysql_fetch_object(), с поддержкой данной функции дозволено узнать размер полученного значения в всяком обработанном поле. Скажем, в дальнейшем фрагменте: Srs_arr = mysql_fetch_row($rs): массив $rs_len будет содержать длину соответствующих элементов массива $rs_arr, то есть $rsjen[0] = strlen($rs_arr[0]) и т. д. См. также mysql_fetch_row(). mysql_fetch_field Приобретение информации о поле записи в свойствах объекта object mysql_fetch_field (Int result [, int field_offset]) Если номер поля field_offset не указан, при всем вызове функции возвращаются свойства дальнейшего поля из комплекта записей result. Возвращаемый объект имеет следующие свойства (и содержит информацию):
<?php / См. также mysql_field_seek(). mysql_field_seek Перемещение к указанному полю int mysql_field_seek (int result, int field_offset) Функция является излишней, и следующие фрагменты равнозначны: $meta = mysql_fetch_field Эта функция влияет только на mysql_fetch_field(), а остальные функции этого рода (см. ниже) требуют очевидного указания номера поля. См. также mysql_fetch_field(). mysql_field_name Приобретение имени поля в комплекте записей string mysql_field_name (int result, int fie!d_index) Функция возвращает имя поля с индексом field_offset (нумерация начинается с 0) в комплекте записей result. $res = !nysql_db_query Ранее функция именовалась mysql_fieldname(). mysql_field_table Приобретение имени таблицы, которой принадлежит поле из комплекта записей string mysql_field_table (int result, int field_offset) Ранее функция именовалась mysqljfieldtable(). mysql_field_len Приобретение размера поля комплекта записей int mysql_field_len (int result, int field_offset) Ранее функция именовалась mysql_fieldlen(). mysql_field_type Приобретение типа поля комплекта записей string mysql _field_type (int result, int field_offset) Возвращаемая строка содержит наименование типа нуля: «int», «real», «string», «blob» либо иного, описанного в документации по MySQL. <?php Ранее функция именовалась mysql_fieldtype(). mysql_field_flags Приобретение флагов поля записи string mysql_field_flags (int result, int field_offset) Поля записей в MySQL могут иметь следующие свойства-флаги: "notjiull", "pr1mary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment", "timestamp". Функция возвращает перечисление через пробел флагов, имеющихся у поля с индексом field_offset (нумерация начинается с 0) в комплекте записей result (поделить полученную строку на составляющие дозволено функцией exptode()). Ранее функция именовалась mysql_fieldflags(). mysql_list_fields Приобретение списка полей таблицы int mysql_list_fields (string database_name, string table_name [, int linkjidentifier]) Функция возвращает пустой комплект записей таблицы table_name из БД database_name, тот, что дозволено применять для приобретения информации о всех полях, имеющихся в таблице, с поддержкой функций mysql_fetch_field(), mysql_field_flags(), mysql_fieldjen(), mysql_field_ name() и mysql_field_type(). Подметьте: при ошибке возвращается -1, а в переменной Sphperrmsg сохраняется сообщение об ошибке и (если функция не была вызвана с оператором @) распечатывается сообщение об ошибке. $link = mysql_cornect Ранее функция именовалась mysql_listfields(). mysql_num_fields Приобретение числа полей в комплекте записей int mysq"ljium_fields (int result) См. также: mysql_db_query(), mysql_query(), mysql_fetch_field(), mysql_ num_rows(). Ранее функция именовалась mysqljiumfields(). mysql_errno Получение кода ошибки MySQL int mysql_errno ([int link_identifier]) Возвращает номер ошибки, произошедшей в ходе выполнения последней функции MySQL, либо 0, если ошибки не случилось. Ранее ошибки, протекающие при операциях с MySQL, выдавались в виде предупреждений, но теперь появление ошибок надобно выявлять самосильно. Предупреждения выводятся только при неудачных подключениях либо при попытке применения несуществующего источника (скажем, комплекта записей). <?php См. также mysql_error(). mysql_error Приобретение сообщения об ошибке MySQL string mysql_error ([int link_identifier]) Возвращает сообщение об ошибке, произошедшей в ходе выполнения последней функции MySQL, либо пустую строку, если ошибки не случилось. <?php См. также mysql_errno(). Данная группа функций разрешает трудиться с серверами БД mSQL. Для того дабы их дозволено было применять, РНР надобно скомпилировать с параметром —with-msql[=dir], где дозволено указать каталог размещения mSQL (по умолчанию это /usr/local/Hughes). Документацию но mSQL дозволено обнаружить по адресу http://www.hughes. \ com.au/. msql_connect Подключение к серверу mSQL int msql_connect ([string hostname [, string hostname[:port] [, string user-name [, string passworo>] Возвращает дескриптор подключения к БД либо FALSE — при ошибке. Если не указывается имя хоста, то производится локальное подключение. Если функция вторично вызывается с теми же доводами, новое подключение не создается, а возвращается идентификатор теснее имеющегося. В конце сценария принято закрывать подключение функцией msql_ close(), но этого дозволено и не делать, от того что РНР механически закрывает все (неустойчивые) подключения при заключении сценария. См. также: msql_pconnect(), msql_close(). msql_pconnect Создание устойчивого подключения к серверу mSQL int msqlj>connect ([string hostname [, string hostname[:port] [, string username [, string password>) Возвращает дескриптор подключения к БД либо FALSE — при ошибке. msql_pconnect() действует аналогично msql_connect() с двумя различиями: Перед подключением функция пытается проверить, имеется ли теснее открытое (устойчивое) подключение с параметрами (имя сервера, пользователя и пароль), аналогичными указанным. Если такое подключение обнаруживается, то возвращается его идентификатор взамен создания нового подключения. При заключении сценария подключение не закрывается, а остается действительным для последующего применения. (Функция msql_ close() не может закрыть подключения, сделанные с поддержкой msql_ pconnect().) msql_close Отключение от сервера mSQL int msq]_close (int link_identifier) Возвращает TRUE либо FALSE — при ошибке. Идентификатор закрываемого подключения указывается в доводе link_identifier; если его не указывать, то закрывается последнее открытое данным сценарием подключение. Реально применение данной функции не является непременным, так как РНР механически закрывает все незакрытые неустойчивые подключения при заключении сценария. Обратите внимание, что устойчивые подключения, сделанные функцией msql_pconnect(), не закрываются. См. также: msql_connect() и msql_pconnect(). msql_list_dbs Приобретение списка БД на сервере mSQL int msq"Mist_dbs(void); Возвращает комплект записей, содержащий список имеющихся БД на сервере. Используйте функцию msql_dbname(), дабы получить элементы этого списка. msql_dbname Приобретение имени БД mSQL string msql_dbname (int query_identifier. int i) Функция применяется для обработки комплекта записей query_identifier, возвращенного msqlJIistdbs(); в доводе указывается номер записи. Возвращается имя БД либо FALSE — при ошибке. Число записей дозволено определить функцией msql_numrows(). msql_create_db Создание БД mSQL int msql_create_db (string database name [, int link_identifier]) Создает БД dbname, применяя подключение link_identifier. Функция имеет синоним msql_createdb(). См. также msql_drop_db(). msql_drop_db Удаление БД mSQL int msql_drop_db (string database_name, int link identifier) Возвращает TRUE, если БД databasejiame благополучно удалена, либо FALSE при ошибке. Функция имеет синоним msql_dropdb(). См. также msql_create_db(). msql_list_tables Приобретение списка таблиц в БД int msql_list_tables (string database) Возвращает комплект записей, содержащий список БД на сервере. Для извлечения отдельных записей применяется функция msql_tablename(). msql_tablename Приобретение имени таблицы string msql_tablename (int query_identifier, int i) Функция применяется для приобретения имени таблицы (с номером ) из комплекта записей query_identifier, возвращенного функцией mysql_ Hst_tables(). <?php msql_select_db Выбор БД mSQL int msql_selectjjb (string database_name, int linkjdentifier) Возвращает TRUE либо FALSE - при ошибке. Делает БД с именем databasejiame энергичной для нынешнего подключения либо указанного в linkjdentifier. Если подключений не имеется, то неявно вызывается функция mysql_connect() с параметрами по умолчанию. Дальнейшие запросы, исполняемые функцией, будут адресованы данной БД. Функция имеет синоним msql_selectdb(). См. также: msql_connect(), msql_pconnect() и msql_query(). msql_regcase Создание регулярного выражения для поиска, бесчувственного к регистру См. также: sql_regcase(). msql_query Выполнение запроса к БД int rasql_query (string query, [int linkjdentifier]). Посылает запрос нынешней БД, энергичной для нынешнего подключения либо указанного в linkjdentifier. Если подключений не имеется, то неявно вызывается функция msql_connect() с параметрами по умолчанию. Если выражение содержит ошибки либо при его выполнении появляются ошибки (скажем, если нынешние привилегии не разрешают исполнить запрос), то функция возвращает FALSE. Если запрос удачно выполнился, то возвращается комплект записей (не забывайте, Он также может содержать 0 записей), тот, что может быть обработан функциями:
Дабы узнать, сколько записей было возвращено командой SELECT, используйте функцию msql_num_rows(); а дабы узнать, сколько описей было изменено в итоге выполнения запросов DELETE, PLACE либо UPDATE, используйте функцию msql_affected_rows(). Позже обработки итогов запроса он может быть удален функцией mysql_free_result(). См. также: rasq(), msql_select_db() и msql_connect(). msql Выполнение запроса к указанной БД int msql (string database, string query, int link_identifier) Функция подобна msql_query() с тем различием, что БД database, которой посылается запрос, тут указывается очевидно. msql_num_rows Приобретение числа возвращенных записей int msql_num_rows (int queryjidentifier) Функция возвращает число записей, возвращенных запросом. См. также: msql(), msql_query() и msql_fetch_row(). msql_affected_rows Приобретение числа измененных записей в БД int msql_affected_rows (int query_identifier) Функция возвращает число записей, которых «коснулся» запрос (при выборке, удалении, обновлении). См. также msql query(). msql_result Приобретение элемента комплекта записей int msql_result (int query_identifier, int row, mixed field) Возвращает содержимое ячейки из комплекта записей query_identifier. В доводе row указывается номер записи (нумерация начинается с 0), в доводе field дозволено указать индекс поля (число), имя поля, полное имя поля (вида: «имя_таблицы.имя_поля») либо псевдоним поля. При работе с огромными комплектами записей стремительней выполняются функции типа _fetch_ (см. ниже). Также подметьте, что численные индексы обрабатываются стремительней строковых. Не следует вызывать функцию msql_result() в сочетании с другими функциями обработки комплекта записей. Рекомендуется применять альтернативные функции: msql_fetch_ row(), msql_fetch_array() и msql_fetch_object(). msql_data_seek Перемещение курсора комплекта записей int msql_data_seek (int query_identifier. int rowjnumber) При всяком вызове функции msql_fetch_row() (либо сходственной ей) внутренний курсор записи смещается на следующую запись. Данная функция дозволяет вольно переметать курсор в комплекте записей query_identifier так, дабы он указывал на запись с номером row_ number (нумерация начинается с 0). Функция возвращает TRUE пли FALSE — при ошибке. См. также msql_fetch_row(). msql_fetch_array Занесение записи в массив int msql_fetch_array (int query_identifier [, int result_type]) Возвращает соответствующий нынешней записи массив из комплекта записей query_identifier, возвращенных запросом, либо FALSE, если записей больше не имеется. Данная функция является растяжением функции msql_fetch_row(); она может возвращать нумерованный либо ассоциативный массив (либо объединенный). Вид возвращаемого массива может указываться в доводе resultjtype одной из констант: MYSQL_NUM, MYSQL_ASSOC, MYSQL_BOTH (по умолчанию). В ассоциативных массивах индексами служат имена нулей. Если имеются одноименные поля, применяется последнее. Для доступа к одноименным полям также дозволено применять числовые индек-т сы (поля нумеруются в той последовательности, в которой указаны в запросе либо в таблице) либо псевдонимы. Подметьте, что функция работает лишь немножко неторопливей, чем mysql_ fetch_row(), но предоставляет дополнительную функциональность. Будьте внимательны с обработкой записей, которые содержат исключительное поле, имеющее значение 0 (либо пустую строку, либо NULL). См. также msql_fetch_row(). msql_fetch_row Занесение записи в нумерованный массив array msql_fetch_row (int query_identifier) Возвращает соответствующий нынешней записи массив из комплекта записей query_identifier, возвращенных запросом (дальнейший вызов функции возвращает следующую запись), либо FALSE, если записей больше не имеется. Всякое поле записи сохраняется в нумерованном элементе массива (нумерация начинается с 0). См. также: msql_fetch_array(), msq()_fetch_object(), msql_data_seek() и msql_result(). msql_fetch_object Приобретение записи в свойствах объекта int msql_fetch_object (int query_identifier [, int resul t_type]) Возвращает объект, в свойствах которого находятся поля нынешней записи, либо FALSE, если записей больше не имеется. По скорости выполнения функция одинакова mysql_fetch_array() и примерно одинакова mysql_fetch_row(). См. также: msql_fetch_array() и msq"l_fetch_row(). msql_fetch_field Приобретение информации о поле записи в свойствах объекта object msql_fetch_field (int query_identifier, Int field_offset) Если номер поля fi el d_offset не указан, при всем вызове функции возвращаются свойства дальнейшего поля из комплекта записей query_ identifier. Возвращаемый объект имеет следующие свойства (и содержит информацию):
См. также msql_field_seek(). msql_field_seek Перемещение к указанному полю int msql_field_seek (int query_identifier, int field_offset) Дальнейший вызов msql_fetch_field() (если в нем не указан номер поля) будет возвращать информацию о поле с указанным номером field_offset. См. также msql_fetch_field(). msql_fieldname Приобретение имени поля в комплекте записей string msql_fieldname (int query_identifier, int field) Функция возвращает имя нуля с индексом field в комплекте записей query_identifier. msql_fieldtable Приобретение имени таблицы, которой принадлежит поле из комплекта записей int msql_fieldtable (int query_identifier, int field) msql_fieldtype Приобретение типа поля комплекта записей string rasql_fieldtype (int query_identifier, int i) Возвращаемая строка содержит наименование тина поля: «int», «real», «string», «blob» либо иного, описанного в документации. msql_fieldflags Приобретение флага поля записи string msql_fieldflags (int query_identifier, int i) Поля записей в mSQL Moiyr иметь два флага: «notjiull», «primary_key». Функция возвращает перечисление через пробел флагов, имеющихся у поля с индексом i (нумерация начинается с 0) в комплекте записей query_identifier (поделить полученную строку на составляющие можj но функцией explode()). Если поле флагов не имеет, возвращается пустая строка. msql_fieldlen Приобретение размера поля комплекта записей int msql_fieldlen (int query_identifier, int i) msql_free_result Разрушение комплекта записей int msql_free_result (int query_identifier) Функция освобождает память, занимаемую комплектом записей query_ identifier, возвращенным запросом. msql_fist fields Приобретение перечисления полей в итоге запроса int msql_list_fields (string database, string tablename) Функция возвращает пустой комплект записей таблицы tablename из БД database, тот, что дозволено применять для приобретения информации о всех полях, имеющихся в таблице, с поддержкой функций: msql_ fetch_field(), msql_field_flags(), mysql_field_len(), mysql_field_name() и mysql_field_type(). Подметьте: при ошибке возвращается -1, а в переменной Sphperrmsg сохраняется сообщение об ошибке и (если функция не была вызвана с оператором «@») распечатывается сообщение об ошибке. См. также msql_error(). msql_num_fields Приобретение числа полей в комплекте записей int msql_num_fields (int queryjidentifier) См. также: msq(), msqljjuery(), msql_fetch_field() и msql_num_rows(). Ранее функция именовалась msqljiumfields(). msql_error Приобретение сообщения об ошибке последней функции msql string_msql_error () Возвращает сообщение об ошибке, произошедшей в ходе выполнения последней функции mSQL, либо пустую строку, если ошибки не случилось. Раисе ошибки, протекающие при операциях с MySQL, выдавались в виде предупреждений, но теперь появление ошибок надобно выявлять независимо. Postgres, первоначально разработанная в UC Berkeley Computer Science Department, явилась одной из первых БД, использующих объектно-реляционные тезисы, доступные сейчас в некоторых торговых БД. Она поддерживает язык SQL92/SQL3, транзакции и растяжение типов. PostgreSQL распространяется даром и с открытым кодом. См.: http://www.postgresql.org/. Начиная с версии 6.3 (03/02/1998). PostgreSQL использует соксты unix-доменов (адрес сокета записывается в файл /tmp/.s.PGSQL5432). Дабы к серверу дозволено было подключиться через TCP/IP, postmaster нужно запускать с ключом -i (буквально обозначающим: "listen on TCP/IP sockets as well as Unix domain sockets"). Ранее в функции подключения параметры указывались в отдельных доводах, но теперь они заключаются в одну строку: Scorn = pg_Connect Для применения функций интерфейса огромных объектов их нужно помещать вовнутрь блоков транзакций. Блок транзакции начинается с команды begin и завершается командами commit либо end. Отмена транзакций выполняется командами rollback либо abort. <?php pg_connect Подключение к серверу PostgreSQL int pg_connect (string conn_string) Возвращает дескриптор подключения к БД (применяемый последующими функциями) пли FALSE — при ошибке. В доводе указываются параметры подключения: host, port, tty, options, user, password, dbname. <?php Устаревший синтаксис: Sconn = pg_connect См. также pg_pconnect(). pg_close Закрытие подключения bool pg_close (int connection) Закрывает указанное подключение и возвращает TRUE (либо FALSE при ошибке). Реально применение данной функции не является непременным, так как РНР механически закрывает все незакрытые неустойчивые подключения при заключении сценария. Подметьте, что устойчивые подключения, сделанные функцией рд_ pconnect(), не закрываются. pg_pconnect Создание устойчивого подключения к серверу PostgreSQL int pg_pconnect (string conn_string) Возвращает дескриптор устойчивого подключения к БД (применяемый последующими функциями) либо FALSE — при ошибке. В доводе указываются параметры подключения: host, port, tty, options, user, password, dbname. Подметьте: устойчивые подключения не закрываются при заключении сценария и остаются действительными, пока РНР остается в памяти (так, что при повторной попытке сделать одинаковое устойчивое подключение применяется теснее имеющееся). Устаревший синтаксис: Sconn = pg_pconnect См. также pg_connect(). pg_host Приобретение имени сервера, к которому осуществлено подключение String pg_host (int connection_id) Возвращает значение параметра host, указанного при подключении. pg_port Приобретение номера порта, используемого подключением int pg_port (int connectionjid) Возвращает значение параметра port, указанного при подключении (либо «5432»). pg_tty Приобретение имени терминала TTY, назначенного подключению string pgjtty (int connection_id) Возвращает имя потока итога, в тот, что сервер записывает отладочную информацию для указанного подключения. pg_options Приобретение параметра подключения string pg_options (int connection_id) pg_dbname Приобретение имени применяемой БД string pg_dbname (int connection) При ошибке возвращает FALSE. pg_set_client_encoding Установка кодировки, применяемой заказчиком int pg_set_client_encoding ([int connection, string encoding]) Возвращает 0 либо -1 — при ошибке, encoding может принимать значения: SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=l.. .9), KOI8, WIN, ALT, SJIS, BIGS, WIN1250. Функция требует PostgreSQL 7.0 либо старше. Ранее функция именовалась pg_setclientencoding(). См. также pg_client_encoding(). pg_client_encoding Приобретение кодировки, применяемой заказчиком string pg_client_encoding ([int connection]) Возвращается одно из значений: SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULEJNTERNAL, LATINX (X=l.. .9), KOI8, WIN, ALT, SJIS, 6165, WIN1250. Функция требует PostgreSQL 7.0 либо старше. Ранее функция именовалась pg_clientencoding(). См. также pg_set_client_encoding(). pg_trace Разрешение трассировки подключения bool pgjtrace (string filename [, string mode [, int connection]]) Функция разрешает механическую запись обмена сообщениями между сервером PostgreSQL и его клиентской частью в файл отладки filename. Дабы применять эту возможность, нужно понимать внутренний протокол коммуникации PostgreSQL. В простейшем случае поводы ошибок, записанные в этом файле, могут быть обнаружены с поддержкой команды: backend trace.log. Доводы filename и mode те же, что и в функции fopen() (mode no умолчанию: «w»), connection указывает, какое подключение следует трассировать (если не указано, то применяется последнее открытое). Возвращает TRUE, если filename благополучно открыт, либо FALSE — при ошибке. См. также: fopen() и pg_untrace(). pg_untrace Закроет трассировки подключения bool pg_untrace ([int connection]) Останавливает отладку, начатую функцией pg_trace(). Довод connection указывает, какое подключение следует трассировать (если не указано, то применяется последнее открытое). Неизменно возвращает TRUE. См. также pgjtrace(). pg_exec Выполнение запроса int pg_exec (int connection, string query) Посылает запрос query для подключения connection. Если при выполнении запроса появляются ошибки, то функция возвращает FALSE. Получить комментарий ошибки дозволено функцией рд_ errormessage(). Если запрос удачно выполнился, то возвращается комплект записей, тот, что может быть обработан функциями:
Дабы узнать, сколько записей было возвращено командой SELECT, используйте функцию pg_num_rows(); а дабы узнать, сколько записей было изменено в итоге выполнения запросов DELETE, INSERT, REPLACE либо UPDATE, используйте функцию pg_cmdtuples(). Позже обработки итогов запроса он может быть удален функцией pg_free_result(). Правда в этом нет необходимости, потому что источники механически освобождаются при заключении сценария. pg_put_line Пересылка серверу строки boo! pg_put_line ([resource connection_id. string data]) Для убыстрения процедуры занесения информации в БД PostgreSQL дозволяет способ непосредственной пересылки строк через поток ввода-итога. Возвращает TRUE либо FALSE — при ошибке. Конец строки (записи БД) маркируется символом «\n», а поля разделяются знаком табуляции «\t». Приложение должно очевидно послать пару символов «\.» для указания, что заказчик завершил отсылать данные. <?php // скоростное добавление См. также pg_end_copy(). pg_end_copy Синхронизация операции вставки boo! pg_end_copy ([resource connection]) Функцию следует вызывать позже того, как функцией pg_put_line() закончена передача данных серверу PostgreSQJL (для того, дабы зафиксировать полученные данные). Возвращает TRUE либо FALSE — при ошибке. См. также pg_put_line(). pg_numrows Приобретение числа возвращенных записей int pg_numrows (int result_id) Возвращает число записей, возвращенных запросами SELECT. Дескриптор комплекта возвращенных записей (довод result_id) должен быть у получен от функции рд_ехес(). pg_numfields Приобретение числа полей в комплекте записей int pgjiumfields (int result_id) Возвращает число полей (столбцов) в комплекте записей, возвращенном функцией рд_ехес(), либо -1 — при ошибке. pg_cmdtuples Приобретение числа измененных записей в БД int pg_cmdtuples (int result_id) Возвращается число записей (сущностей), измененных в итоге выполнения запросов DELETE, INSERT, REPLACE либо UPDATE. Если изменений произведено не было, возвращает 0. <?php pg_freeresult Разрушение комплекта записей Int pg_freeresult (int result_id) Функция освобождает память, занимаемую комплектом записей resultjid, возвращенным запросом. Ее следует применять только в случае, если требуется экономить память, потому что память механически освобождается при заключении сценария. pg_result Приобретение определенного элемента комплекта записей mixed pg_result (int result_id. int rowjiumber, mixed fieldname) Функция возвращает значение из комплекта записей, возвращенного функцией рд_Ехес(). Доводы row_number и fieldname указывают соответственно номер строки (записи) и нуле (столбец). Нумерация начинается от 0. Поле дозволено указывать его именем либо номером. PostgreSQL имеет много встроенных типов данных, и РНР поддерживаются только основные. Тины integer, boolean и old возвращаются как целочисленные значения. Все формы float и real типов возвращаются как дробные значения. Все остальные типы (включая массивы) возвращаются в виде строк в том же формате, что и в программе psql. pg_fetch_array Занесение записи в массив array pg_fetch_array (int result, int row [.int result_type]) Возвращает массив, соответствующий записи с номером row, из комплекта записей result, возвращенных запросом, либо FALSE, если такой записи не имеется (также выдается предупреждение). Данная функция является растяжением функции pg_fetch_row(), она может возвращать нумерованный либо ассоциативный массив (а также объединенный). Вид возвращаемого массива может указываться в доводе resu1t_type одной из констант: PGSQL_NUM, PGSQL_ASSOC, PGSQL_BOTH (по умолчанию). В ассоциативных массивах индексами служат имена полей (они неизменно в нижнем регистре). Подметьте, что функция выполняется лишь немножко неторопливей, чем pg_fetch_row(), но предоставляет дополнительную функциональность. <?php См. также pg_fetch_row(). pg_fetch_row Занесение записи в нумерованный массив array pg_fetch_row (int result, int row) Возвращает массив, соответствующий записи с номером row, из комплекта записей result, возвращенных запросом, либо FALSE, если такой записи не имеется. <?php См. также: pg_fetch_array(), pg_fetch_object(), pg_result(). pg_fetch_object Приобретение записи в свойствах объекта object pg_fetch_object (int result, int row [, int resultjtype]) Возвращает объект, в свойствах которого находятся поля нынешней записи, либо FALSE, если записей больше не имеется. По скорости выполнения функция одинакова pg_fetch_array() и примерно одинакова pg_fetch_row(). <?php Sdatabase = "verlag". См. также: pg_fetch_array() и pg_fetch_row(). pg-fieldname Определение имени поля string pg_fieldname (int resulted, int field_number) Возвращает имя поля по его номеру в комплекте записей. Нумерация начинается с 0. pg_fieldnum Определение номера поля int pg_fieldnum (int result_id, string fieldjiame) Возвращает номер поля в комплекте записей по его имени либо -1 — при ошибке. pg_fieldtype Определение типа поля string pg_fieldtype (int resu1t_id, ijit field_number) pg_fieldprtlen Определение длины значения в поле int pg_fie!dprtlen (int result_id, int row_number, string field_name) Возвращает фактическую длину содержащегося в поле значения в байтах (число символов). Возвращает -1 при ошибке. pg_fieldsize Определение внутреннего размера поля int pg_fieldsize (int result_id, int field_number) Возвращает размер в байтах либо значение -1 для полей переменной длины. При ошибке возвращается FALSE. pg_fieldisnull Определение равенства значения поля NULL int pg_fieldisnull (int resultjid, int row, mixed field) Возвращает О, если поле field в записи row не содержит значение NULL, либо 1 в отвратном случае. Поле может быть указано именем либо номером. pg_getlastoid Приобретение идентификатора последнего объекта int pg_getlastoid (int result_id) Применяется для приобретения идентификатора (oid) назначенному объекту, вставленному последней SQL-командой INSERT в функции рд_ехес(). Возвращает позитивное значение oid либо -1, если последней командой в рд_ехес() не была INSERT. pg_locreate Создание большого объекта int pgjocreate (int conn) Создает «Inversion Large Object» и возвращает его oid. conn содержит дескриптор подключения. Режимы доступа PostgreSQL INV_READ, INV_WRITE и INV_ARCHIVE не поддерживаются, объект неизменно создается с доступом для чтения и записи. INV_ARCHIVE был удален из самого PostgrcSQL (для версий 6.3 и старше). pg_loopen Открытие большого объекта int pgjoopen (int conn, int objoid, string mode) Открывает крупной объект БД «Inversion Large Object» и возвращает его файловый дескриптор. Довод objoid указывает действительный oid (идентификатор объекта), a mode — режим доступа, тот, что может принимать значения «г», «w» либо «rw». Не закрывайте подключения, не закрыв заблаговременно огромный объект. pg_loclose , Закрытие большого объекта void pgjoclose (int fd)' В доводе fd указывается дескриптор объекта, полученный от рд_ loopen(). pg_loimport Импорт большого объекта из файла int pgjoimport (int file [, int connection_id]) Имя импортируемого файла (путь) указывается в доводе filename. Возвращает идентификатор сделанного объекта (oid) либо FALSE -при ошибке. Не забывайте, что работа с огромными объектами должна проходить внутри транзакции. pg_loexport Экспорт большого объекта в файл boo! pgjoexport (int oid, int file [, int connectionjd]) Имя файла (путь) указывается в доводе filename, а идентификатор объекта — в oid. Возвращает TRUE либо FALSE — при ошибке. Не забывайте, что работа с крупными объектами должна проходить внутри транзакции. pg_loread Чтение большого объекта string pgjoread (int fd, int Ten) Возвращает прочитанную из объекта строку, указанную его дескриптором fd. В доводе 1еп указывается максимальная длина возвращаемой строки. pg_loreadall Создание большого объекта и отсылка его содержимого непринужденно в поток итога (браузеру) void pgjoreadall (int fd) Используется в основном для итога двоичных данных (графики и звука). pg_lowrite Запись большого объекта int pgjowrite (int fd, string buf) Записывает данные из буфера buf в объект, указанный дескриптором fd; возвращает число реально записанных байтов либо FALSE — при ошибке. pg_lounlink Удаление большого объекта void pgjounlink (int conn, int lobjid) pg_errormessage Приобретение последнего сообщения об ошибке string pg_errormessage (int connection) Ранее для доступа к Microsoft SQL 6.5 и 7.0 применялись различные модули, но сейчас они объединены в один. mssql_coonnect Подключение к серверу MS SQL int mssql_connect ([string servername [, string user-name [, string password]]]) Возвращает дескриптор подключения к серверу MS SQL либо FALSE — при ошибке. Довод servernane должен быть действительным именем, определенным в файле interfaces. Если функция вторично вызывается с теми же доводами, новое подключение не создается, а возвращается идентификатор имеющегося. Подключение к серверу закрывается при заключении сценария либо ранее, если очевидно вызывается функция mssql_close(). См. также: mssql_pconnect(), mssql_close(). mssql_close Закрытие подключения к MS SQL Server int mssql_close ([int link_identifier]) Возвращает TRUE либо FALSE — при ошибке. Идентификатор закрываемого подключения указывается в доводе; если его не указывать, то закрывается последнее открытое данным сценарием подключение. Реально применение данной функции не является непременным, так как РНР механически закрывает все незакрытые неустойчивые подключения при заключении сценария. Подметьте: устойчивые подключения, сделанные функцией mssql_pconnect(), не закрываются. См. также: mssql_connect(), mssql_pconnect(). mssql_pconnect Создание устойчивого подключения к серверу MS SQL int mssqljiconnect ([string server-name [, string username [. string password]]]) Возвращает дескриптор устойчивого подключения либо FALSE — при ошибке. Mssql_pconnect() действует аналогично Mssql_connect() с двумя различиями. Перед подключением функция пытается проверить, имеется ли теснее открытое (устойчивое) подключение с параметрами (имя сервера, пользователя и пароль), аналогичными указанным. Если такое подключение обнаруживается, то возвращается его идентификатор взамен создания нового подключения. При заключении сценария подключение не закрывается, а остается действительным для последующего применения. (Функция mssql_ close() не может закрыть подключения, сделанные с подмогой mssql_ pconnect().) mssql_select_db Выбор БД MS SQL int mssql_select_db (string databasejiame [. int linkjidentifier]) Возвращает TRUE либо FALSE — при ошибке. Устанавливает БД с именем database_name, энергичной для нынешнего подключения либо указанного в link_iidentifier. Если подключений не имеется, то неявно вызывается функция mssql_connect() с параметрами по умолчанию. Дальнейшие запросы, исполняемые функцией, будут адресованы данной БД. См. также: mssql_connect(), mssql_pconnect() и mssql_query() mssql_query Выполнение запроса к БД int rassql_query (string query [, int 1ink_identifier]) Посылает запрос нынешней БД, энергичной для нынешнего (последнего открытого) подключения пли указанного и link_identifier. Если подключений не имеется, то неявно вызывается функция mssql_connect() с параметрами по умолчанию. Возвращает дескриптор комплекта возвращенных записей либо FALSE — при ошибке. См. также: mssql_select_db() и mssql_connect(). mssql_num_rows Приобретение числа возвращенных записей int mssql_num_rows (string result) Возвращает число записей в комплекте result, возвращенном функцией mssql_query(). См. также: mssql_query() и mssql_fetch_row(). В нынешней реализации модуля отсутствует функция mssql _affected_ rows(), и для того, дабы узнать, сколько записей было изменено командами UPDATE, INSERT либо DELETE, доводится применять сходственный дальнейшему код: SrsRows = mssql_query mssql_free_result Истребление комплекта записей int mssql_free_result (int result) Функция освобождает память, занимаемую возвращенным запросом, комплектом записей result. Ее следует применять только в случае, если требуется экономить память, потому что память механически освобождается при заключении сценария. mssql_result Приобретение определенного элемента комплекта записей int mssql result (Int result, int l, mixed field) Возвращает содержимое ячейки из комплекта записей result. В доводе row указывается номер записи (нумерация начинается с 0), в доводе field дозволено указать индекс поля (число), имя поля, полное имя поля (вида: «имя_таблицы.имя_поля») либо псевдоним поля (для запросов типа 'SELECT foo AS bar FROM...'). При работе с огромными комплектами записей стремительней выполняются функции типа _fetch_ (см. ниже). Также подметьте, что численные индексы обрабатываются стремительней строковых. Не следует вызывать функцию mysqljresult() в сочетании с другими функциями обработки комплекта записей. Рекомендуется применять альтернативные функции: mssql_fetch_ row(), mssql_fetch_array() и mssql_fetch_object(). mssql_data_seek Перемещение внутреннего указателя записи int mssql_data_seek (int resul ^identifier, int rowjnumber) При всем вызове функции mssql_fetch_row() (либо сходственной ей) внутренний курсор записи смещается на следующую запись. Данная функция разрешает вольно перемещать курсор в комплекте записей result_identifier так, дабы он указывал на запись с номером row_ number (нумерация начинается с 0). Она возвращает TRUE либо FALSE — при ошибке. См. также mssql_data_seek(). mssql_fetch_array Занесение записи в массив array mssql_fetch_array (int result) Возвращает массив, соответствующий нынешней записи из комплекта записей result, возвращенных запросом, либо FALSE, если записей больше не имеется (при этом курсор записи перемещается на следующую). Данная функция является растяжением функции mysql_fetch_row(), и она возвращает объединенный нумсрованно-ассоциативный массив. Доступ к элементам массива может осуществляться как через имена полей, так и по их номеру. Подметьте, что функция выполняется немножко неторопливей, чем mysql_ fetch_row(), но предоставляет дополнительную функциональность. См. также mssql_fetch_row(). mssql_fetch_row Занесение записи в нумерованный массив array mssql_fetch_row (int result) Возвращает соответствующий нынешней записи массив из комплекта записей result, возвращенных запросом (дальнейший вызов функции возвращает следующую запись), либо FALSE, если записей больше не имеется. Всякое поле записи сохраняется в нумерованном элементе массива (нумерация начинается с 0). См. также: mssql_fetch_array(), mssql_fetch_object(), mssql_data_seek(), mssql_fetch_length() и mssql_result(). mssql_fetch_object Приобретение записи в свойствах объекта int mssql_fetch_object (int result) Возвращает объект, в свойствах которого находятся поля нынешней записи, либо FALSE, если записей больше не имеется. По скорости выполнения функция одинакова mysql_fetch_array() и примерно одинакова mysql_fetch_row(). См. также: mssql_fetch_array() и mssql_fetch_row(). mssql_num_fields Получение числа полей в комплекте записей int mssql_num_fields (int result) См. также: mssql_query(), mssql_fetch_field() и mssql_num_rows(). mssql_fetch_field Приобретение информации о поле записи в свойствах объекта object mssql_fetch_field (int result [. int field_pffset]) Если номер поля field_offset не указан, при всяком вызове функции возвращаются свойства дальнейшего поля из комплекта записей result. Возвращаемый объект имеет следующие свойства (и содержит информацию):
См. также mssql_field_seek(). mssql_field_seek Перемещение к указанному полю int mssql_field_seek (int result, int field_offset) Перемещается к указанному числом полю. И, если при дальнейшем вызове mssql_fetch_field() не указывается номер поля, будет возвращено это поле. См. также mssql_fetch_field(). mssql_field_name Приобретение имени поля в комплекте записей int mssql_field_name (int result [, int offset]) mssql_field_length Приобретение размера поля комплекта записей int mssql_fieldjength (int result [, int offset]) mssql_field_type Приобретение типа поля комплекта записей string mssql_field_type (int result [, int offset]) mssql_get_last_message Приобретение последнего сообщения сервера string mssql_getjast_message (void) mssql_min_error_severity Установка малейшего яруса уведомляемых ошибок void rassql_min_error_severity (int severity) mssql_min_message_severity Установка малейшего яруса сообщений void mssql_min_message_severity (int severity) InterBase (http://www.interbase.com/) — знаменитая БД, изготавливаемая Borland/Inprise. Последняя версия InterBase 6 распространяется даром. Эта БД использует одинарные кавычки (') для цитирования но аналогии с БД Sybase, если в файл php.ini добавить параметр: magic_quotes_sybase = On ibase_connect Подключение к серверу БД InterBase int ibase_connect (string database [, string user-name [, string password [, string charset [, int buffers [, int dialect [. string role>]]) Довод database должен указывать путь к файлу БД на сервере. Если сервер не локальный, то должен присутствовать префикс: «hostname:» (TCP/IP), «//hostname/» (NetBEUI) либо «hostname®» (IPX/SPX), в зависимости от используемого протокола, user-name и password также могут быть указаны параметрами конфигурации PHP ibase. default_user и ibase.default_password. charset определяет кодировку, используемую БД но умолчанию, buffers — число буферов, используемых для кэширования БД (при значении 0 либо отсутствии указания сервер будет применять собственное значение), dialect указывает применяемый подключением диалект SQL (по умолчанию — самый старший, поддерживаемый клиентской частью). ibase_connect('local host:/usr/db/db.gdb'.'SYSDBA'.'masterkey'. ' IS08859J'. '100'. '1' ) ; Если функция вторично вызывается с теми же доводами, новое подключение не создается, а возвращается идентификатор имеющегося. В конце сценария принято закрывать подключение функцией ibase_ close(), но этого дозволено не делать, от того что РНР механически закрывает все (неустойчивые) подключения при заключении сценария. <?php См. также ibase_pconnect(). ibase_close Отключение от сервера БД InterBase int ibase_close ([int connection_id]) Возвращает TRUE либо FALSE — при ошибке. Нынешняя транзакция (если имеется) завершается, а остальные отменяются. Идентификатор закрываемого подключения указывается в .доводе; если его не указывать, то закрывается последнее открытое данным сценарием подключение. реально применение данной функции не является непременным, так как РНР механически закрывает все незакрытые неустойчивые подключения при заключении сценария. Подметьте: устойчивые подключения, сделанные функцией mysql_ pconnect(), не закрываются. ibase_pconnect Создание устойчивого подключения к серверу БД InterBase int ibase_pconnect (string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role>]]) ibase pconnect() действует аналогично ibase_connect() с двумя различиями. Перед подключением функция пытается проверить, имеется ли теснее , открытое (устойчивое) подключение с параметрами, аналогичными указанным. Если такое подключение обнаруживается, то возвратается его идентификатор взамен создания нового подключения. При заключении сценария подключение не закрывается, а остается действительным для последующего применения. (Функция ibase_close() не может закрыть подключения, сделанные с подмогой ibase_pconnect().) См. изложение доводов в ibase_connect(). ibase_prepare Подготовка запроса для дальнейшего выполнения int ibase_prepare ([int link_identifier, string query]) В последующей части сценария данный запрос дозволено исполнить функцией ibase_execute(), указав его параметры. ibase_execute Выполнение подготовленного запроса int ibase_execute (int query [, int bind_args ...]) Исполняет запрос query, подготовленный функцией ibase_prepare(). Это больше результативно, чем применение для выполнения серии запросов функцией ibase_query(), если сами запросы различаются только указываемыми параметрами. <?php ibase_free_query Истребление подготовленного запроса int ibase_free_query (int query) Уничтожает запрос, подготовленный функцией ibase_prepare(). ibase_query Выполнение запроса к БД InterBase int ibase_query ([int link_identifier. string query [, int bind_args]]) Возвращает дескриптор комплекта записей, обрабатываемый ibase_fetch_ row(), ibase fetch object(), ibase free result() и ibase free query(). Правда функция поддерживает возможность указания параметров запроса, рациональнее применять функции ibase_prepare() и ibase_ execute(). ibase_trans Начать транзакцию int ibase_trans ([int trans_args [, int link_identifier]]) ibase_commit Заключение транзакции int ibase_commit ([int link identifier, int trans_number]) Завершает транзакцию trans_number, сделанную ibase_trans(). ibase_rollback Отмена транзакции int ibase_rollback ([int link_identifier, int trans_number]) Отменяет транзакцию trans_number, сделанную ibase_trans(). ibase free_result Истребление комплекта записей int ibase_free_resu1t (int result_identifier) Освобождает память, занятую комплектом записей, возвращенным ibase_ query(). ibase_fetch_row Занесение записи в нумерованный массив array ibase_fetch_row (Int result_ldentifler) Возвращает в массиве следующую запись из комплекта, возвращенного ibase_query(). ibase_fetch_object Приобретение записи в свойствах объекта object ibase_fetch_object (int resultjid) Возвращает в свойствах псевдообъекта следующую запись из комплекта result_id, возвращенного ibase_query() либо ibase_execute(). <php См. также ibase_fetch_row(). ibase_feld_info Приобретение информации о поле записи в массиве array ibase_field_info (int result, int field number) Возвращает массив, содержащий элементы name, alias, relation, length, type. $rs=ibase_query ibase_timefmt Установка формата возвращаемых даты и времени int ibasejtimefmt (string format [, Int columntype]) Морально поля даты и времени форматируются функцией языка С strftime(), а с подмогой данной функции дозволено установить вид форматирования возвращаемых запросами данных. В строке format, дается образец, по которому производится форматирование. Довод columntype указывает, формат каких именно полей устанавливается (только с InterBase версии 6 либо выше), и может принимать константные значения IBASE_TIMESTAMP (по умолчанию), IBASE_DATE и IBASEJIME. <?php Умолчания дозволено установить параметрами конфигурации (php.ini): ibase.timestampformat, ibase.dateformat и ibase.timeformat. ibase_num_fields Приобретение числа полей в комплекте записей int ibase_num_fields (int result_id) В текущее время функция еще не работоспособна. <?рhр См. также ibase_field_info(). ibase_errmsg Приобретение сообщения об ошибке string ibase_errmsg (void) Поля BLOB В PHP имеются следующие функции для работы с полями BLOB БД InterBase (документация для них пока отсутствует):
От того что исключительной информацией об этих функциях является j пример из начальных текстов, он приводится дальше. $cnn=ibase_connect("localhost.F: Присутствующий модуль растяжения Informix разрешает трудиться с БД Informix (IDS) 7.x, SE 7.x, Universal Server (IUS) 9.x и IDS 2000. IDS 7.x поддерживается всецело (включая нуля BYTE и TEXT), ] но для IUS 9.x еще не закончена помощь типов SLOB и CLOB. Для компиляции нужна ESQL/C (версия 7.2х либо выше должна входить в Informix Client SDK) для компиляции драйвера Informix. Также обязаны быть установлены значения переменных системы INFORMIXDIR и добавлен каталог $INFORMIXDIR/bin в список путей PATH до запуска сценария configure (с ключом —with_informix=yes). Автоопределение каталогов файлов заголовков и библиотек может быть переопределено установкой системных переменных IFX_LIBDIR, IFXJJBS и IFXJNCDIR. Во время выполнения переменные системы INFORMIXDIR, INFORMIXSERVER и PATH обязаны быть положительно инициализированы. Для полей BLOB (TEXT и BYTE) запросом возвращаются их идентификаторы. Их содержимое дозволено получить в строковой переменной (если установлено ifx_blobinfile(0);) функцией ifx_get_blob($b1ob_id) либо сберечь в файле (если установлено ifx_blobinfile(l);) функцией i fx_get_blob($bl ob_i d);. ifx_connect Подключение к серверу БД Informix int ifx_connect ([string database [, string user [, string password]]]) Все доводы необязательны, и если их не указывать, то применяются значения из файла конфигурации: ifx.default_host (если не указано иное, библиотеки Informix применяют значение системной переменной INFORMIXSERVER), ifx.default_user, ifx.default_password. Возвращается дескриптор подключения либо FALSE — при ошибке. $conn_id = ifx_connect ("mydb@ol_srvl". "imyself". "mypassword"): Если функция вторично вызывается с теми же доводами, новое подключение не создается, а возвращается идентификатор имеющегося. В конце сценария принято закрывать подключение функцией ifx_ close(), но этого дозволено не делать, от того что РНР механически закрывает все (неустойчивые) подключения при заключении сценария. См. также: ifx_pconnect() и ifx_close(). ifx_pconnect Создание устойчивого подключения к серверу БД Informix int ifx_pconnect ([string database [, string userid [, string password]]]) Возвращается дескриптор подключения либо FALSE — при ошибке. ifx_pconnect() действует аналогично ifx_connect() с двумя различиями. Перед подключением функция пытается проверить, имеется ли теснее открытое (устойчивое) подключение с параметрами (БД, пользователь, пароль), аналогичными указанным. Если такое подключение обнаруживается, то возвращается его идентификатор взамен создания нового подключения. При заключении сценария подключение не закрывается, а остается действительным для последующего применения. (Функция ifx_close() не может закрыть подключения, сделанные с подмогой ifx_pconnect().) См. также ifx_connect(). ifx_close Закрытие подключения к Informix int ifx_close ([int linkjdentifier]) Неизменно возвращает TRUE. Идентификатор закрываемого подключения указывается в доводе; если сто не указывать, то закрывается последнее открытое данным сценарием подключение. Реально применение данной функции не является непременным, так как РНР механически закрывает все незакрытые неустойчивые подключения при заключении сценария. Устойчивые подключения, сделанные функцией ifx_pconnect(), не закрываются. $corn_id = ifx_connect См. также: ifx_connect() и ifx_pconnect(). ifx_query Выполнение запроса к БД Informix int ifx_query (string query [, int linkjdentifier [, int cursorjtype [, mixed blobidarray]]]) Посылает запрос нынешней БД, энергичной для нынешнего (последнего открытого) подключения либо указанного в linkjidentifier. Если подключений не имеется, то неявно вызывается функция ifx_connect() с параметрами по умолчанию. Возвращает дескриптор комплекта возвращенных записей либо FALSE -при ошибке. Для запросов SELECT необязательным доводом cursorjtype дозволено указать особый тип курсора (значение формируется бито-I вой маской из констант IFX_SCROLL, IFXjHOLD). В зависимости от тина запроса число возвращенных (измененных) записей (примерное либо фактическое) дозволено узнать функцией ifx_affected_rows(). Если в запросе передаются поля BLOB (BYTE либо TEXT), то в доводе (массиве) blobidarray указываются дескрипторы (blob ids), а в запросе взамен их значений ставится знак «?>>. Если содержимое полей TEXT (либо BYTE) допускает, дозволено применять функции ifx_textasvarchar(l) и ifx_byteasvarchar(l), что дозволяет трудиться с этими полями (получать их содержимое), как если бы они были обыкновенными (но длинными) нулями VARCHAR, не заботясь о blob дескрипторах. В отвратном случае придется применять добавочные функции. В обстановки ifx_textasvarchar(0) и ifx_byteasvarchar(0) (по умолчанию) запросы выборки возвращают для полей BLOB их дескрипторы (целые числа). Их содержимое дозволено получить особыми функциями. // Пример 1. распечатать всю таблицу См. также ifx_connect(). ifx_prepare Подготовка SQL-запроса для дальнейшего выполнения int lfx_prepare (string query, int conrMd [, Int cursor_def. mixed blobidarray]) Возвращает дескриптор, применяемый в функции ifx_do(). Для запросов SELECT необязательным доводом cursor_type дозволено указать тип курсора (значение формируется битовой маской из констант IFXJCROLU IFXJHOLD). Если в запросе передаются поля BLOB (BYTE либо TEXT), то в доводе (массиве) blobidarray указываются дескрипторы (blob ids), а в запросе взамен их значении ставится знак «?>>. Если содержимое полей TEXT (либо BYTE) допускает, дозволено применять функции ifx_textasvarchar(l) и ifx_byteasvarchar(l), что разрешает трудиться с этими полями (получать их содержимое), как если бы они были обыкновенными (но длинными) полями VARCHAR, не заботясь о blob дескрипторах. В отвратном случае придется применять добавочные функции. Подготовленные запросы разрешают сперва вычислить число подходящих запросу записей функцией ifx_affected_rows(). См. также ifx_do(). ifx_do Выполнение подготовленного запроса int ifx_do (int result_id) Возвращает TRUE либо FALSE — при ошибке. См. также: ifx_prepare(), ifx_affected_rows(). ifx_error Приобретение кода ошибки последней операции Informix string ifx_error(void); Возвращаемая строка изложения ошибки форматируется дальнейшим образом: х [SQLSTATE = (две цифры) (три цифры) SQLCODE=cccc], где х — один из символов, обозначающих:
Если х-символ не пробел, то SQLSTATE и SQLCODE описывают детали ошибки (см. документацию БД). См. также ifx_errormsg(). ifx_errormsg Приобретение описа, мя ошибки последней операции string ifx_errormsg ([int errorcode]) Если в доводе указать код ошибки, то будет получено ее изложение. printf("£s\ri<br>", ifx_errormsg(-201)); См. также ifx_error(). ifx_affected_rows Приобретение числа измененных либо возвращенных записей int ifx_affected_rows (int resulted) В доводе указывается дескриптор комплекта записей, возвращенный функцией ifx_query() либо ifx_prepare(). Для запросов типа INSERT, UPDATE и DELETE возвращается число реально добавленных, измененных, удаленных записей (зна- чение sqlerrd[2]). Для запросов выборки SELECT это полагаемое число (sqlerrd[0]), которое не неизменно правильно.
См. также ifx_num_rows(). ifx_getsqlca Приобретение параметров запроса sqlca.sqlerrd[0..5] array ifx_getsq"lca (Int resu"lt_id) В доводе указывается дескриптор комплекта записей, возвращенный функцией ifx_query() либо ifx_prepare(). Возвращается ассоциативный массив, содержащий добавочные итоги выполнения запроса сервером sqlerrd() ... sqlerrdS. Альтернативно ту же операцию дозволено исполнить запросом "SELECT dbinfo( 'sqlca.sqlerrdx')". // предполагается, что первое поле таблицы tbl последовательное Sqid = ifx_query("INSERT INTO tbl VALUES (0. '2nd column', 'another column') ". Sconmd); if (! $qid) { ... error ... } Ssqlca = ifx_getsqlca (Sqid): echo "Последовательное значение добавленной записи: " . $sqlca["sqlerrdl"]. ifx_fetch_row Занесение записи в массив array ifx_fetch_row (int result_id [, mixed position]) Возвращает в ассоциативном массиве (индексами служат имена полей) запись из итога запроса (возвращенного функциями ifx_query() либо ifx_prepare()) либо FALSE, если записей огромнее не имеется. Для полей BLOB возвращаются их цифровые идентификаторы, которые дозволено применять в функции ifx_get_blob() (если, безусловно, не применялись ifx_textasvarchar(l) либо ifx_byteasvarchar(D). Необязательным доводом position для SCROLL курсоров дозволено указать, какую запись следует возвратить: "NEXT", "PREVIOUS", "CURRENT", "FIRST", "LAST" либо «абсолютный» номер записи. Дальнейшие вызовы (по умолчанию возвращают следующие записи). ifx_htmltbl_result Итог итогов запроса в таблице HTML int ifx_htmltbl_result (int resultjid [, string html_table_options]) Возвращает число выведенных записей либо FALSE — при ошибке. Во втором доводе дозволено указать признаки тега <table>. ifx_ fieldtypes Приобретение списка полей комплекта записей array ifx_fieldtypes (int resu1t_id) Возвращает ассоциативный массив (имена полей являются индексами, а SQL-типы полей — значениями) либо FALSE — при ошибке. В доводе указывается итог запроса. ifx_ fieldproperties Приобретение списка свойств полей array ifx_fieldproperties (Int result_id) Возвращает ассоциативный массив (имена нулей являются индексами, а SQL-свойства полей — значениями) либо FALSE — при ошибке. В доводе указывается итог запроса. Свойства полей кодируются в виде: "SQLTYPE;length;precision;scale: ISNULLABLE", где SQLTYPE - тип поля Informix (скажем, "SQLVCHAR"), a ISNULLABLE = "Y" либо "N". Приобретение числа полей, возвращаемых запросом int ifx_num_fields (int resultjid) ifx_num_rows Приобретение числа записей, теснее полученных из итога запроса Int ifx_nura_rows (int result_id) ifx_ free_result Истребление итога запроса int ifx_free_resu!t (int result_id) ifx_create_char Создание char-объекта int ifx_create_char (string param) В доводе указывается содержимое объекта. ifx_free_char Истребление char-объекта int ifx_free_char (int bid) Возвращает TRUE либо FALSE — при ошибке. ifx_update_char Метаморфоза содержимого char-объекта int ifx_update_char (int bid, string content) Возвращает TRUE либо FALSE — при ошибке. ifx_get_char Приобретение содержимого char-объекта int ifx_get_char (int bid) ifx_create_blob Создание blob-объекта int ifx_create_btob (int type, int mode, string param) Аргумент type указывает тип: 1 = TEXT, 0 = BYTE; mode: 0 — что содержимое объекта будет сохраняться в памяти, 1 -в файле;param: если mode = 0, это содержимое объекта, а если mode = 1 — это дескриптор файла данных. Возвращает идентификатор сделанного объекта либо FALSE — при ошибке. ifx_copy_blob Клонирование blob-объекта int ifx_copy_blob (int bid) Возвращает идентификатор сделанного объекта либо FALSE — при ошибке. ifx_free_blob Закрытие blob-объекта int ifx_free_blob (int bid) Возвращает TRUE либо FALSE — при ошибке. ifx_get_blob Приобретение содержимого blob-объекта int ifx_get_blob (int bid) В доводе указывается идентификатор, полученный запросом. Если установлено ifx_blobinfile(l), возвращается имя сделанного файла, в котором сохранено содержимое поля. Ответственность за удаление этого временного файла возлагается на вас. Размещение его зависит от переменной окружения blobdir (по умолчанию = ".", то есть в нынешнем каталоге); файлы имеют префикс btb. Для упрощения чистки используйте, скажем, putenv("bдobdir=tmpblob");. ifx_update_blob Метаморфоза содержимого объекта blob int ifx_update_blob (int bid, string content) Возвращает TRUE либо FALSE — при ошибке. ifx_ blobinfile_mode Установка режима приобретения содержимого объектов blob Если указывается значение 0, то содержимое будет сохраняться в памяти, а если 1, то в файле. Умолчание также устанавливается в файле конфигурации. ifx_extasvarchar Установка режима приобретения полей TEXT void ifx_textasvarchar (int mode) Если указывается значение 0, то для полей TEXT запросом будет возвращаться их идентификатор, а если 1, то непринужденно их содержимое. Значение по умолчанию также устанавливается в файле конфигурации. ifx_byteasvarchar Установка режима приобретения полей BYTE void ifx_byteasvarchar (int mode) Если указывается значение 0, то для полей BYTE запросом будет возвращаться их идентификатор, а если 1, то непринужденно их содержимое. Умолчание также устанавливается в файле конфигурации. ifx_nullformat Установка формата значений NULL void ifx_nullformat (int mode) Устанавливает, какое значение будет возвращаться запросом для значений NULL. Если указывается значение mode "О", будет возвращаться пустая строка "", а если 1, то значение NULL. Умолчание также устанавливается в файле конфигурации. ifxus_create_slob Создание объекта slob и его открытие int ifxus_create_slob (int mode) Доводом дозволено указать режим открытия (допустимы битовые комбинации): 1 = LO_RDONLY, 2 = LOJWRONLY, 4 - LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER. Также допустимо применять именованные константы IFX_LO_RDONLY, IFX_LO_ WRONLY и т. и. Возвращает идентификатор сделанного объекта либо FALSE — при ошибке. ifxus_free_slob Удаление объекта slob int ifxus_free_slob (int bid) Возвращает TRUE либо FALSE — при ошибке. ifxus_close_slob Закрытие slob-объекта int ifxus_c"lose_slob (int bid) Возвращает TRUE либо FALSE — при ошибке. ifxus_open_slob Открытие объекта slob int ifxus_open_slob (long bid, int mode) Доводом mode дозволено указать режим открытия (допустимы битовые комбинации): 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER. Также допустимо применять именованные константы IFX_LO_RDONLY, IFX_LO_ WRONLY и т. п. Возвращает идентификатор сделанного объекта либо FALSE — при ошибке. ifxus_tell_slob Приобретение позиции курсора int ifxus_tell_slob (long bid) Возвращает нынешнюю позицию (чтения/записи) открытого slob-объекта bid либо FALSE — при ошибке. ifxus_seek_slob Установка позиции курсора int ifxus_seek_blob (long bid, int mode, long offset) Устанавливает позицию (чтения/записи) offset открытого slob-объекта bid в байтах. Возвращает позицию либо FALSE — при ошибке. В доводе mode указывается, от какого места отчитывается смещение: 0=LO_SEEKlSET (от начала), 1-LO_SEEK_CUR (от нынешней позиции), 2=LO_SEEK_END (от конца). ifxus_read_slob Чтение данных из объекта slob string ifxus_read_slob (long bid, long nbytes) Возвращает прочитанную строку данных размером nbytes байт из slob-объекта bid либо FALSE — при ошибке. ifxus_write_slob Запись данных в объект slob int ifxus_write_slob (long bid, string content) Записывает строку данных content в slob-объект bid. Возвращает число записанных байт пли FALSE — при ошибке. Для применения этих функций нужно скомпилировать РНР с помощью Ingres, применяя параметр —with-ingres. Для этого нужна библиотека Open API и заголовочные файлы, включенные в Ingres II. Если переменная окружения II_SYSTEM не установлена правильно, дозволено применять параметр — with-ingres=DIR, указывая 1 каталог размещения Ingres. Если при применении РНР-растяжения web-сервер Apache ие запускается и уведомляет: «PHP Fatal error: Unable to start ingresjii module in Unknown on line 0», удостоверьтесь, что переменная окружения II_SYSTEM установлена правильно. Должно подмогнуть добавление «export II_SYSTEM="/horae/ingres/II» в сценарий, запускающий Apache перед строкой запуска httpd. Ingres не допускает конкурентные запросы/транзакции для одного подключения. Следственно итог запроса должен обрабатываться до выполнения дальнейшего запроса, а транзакция совершаться (либо отменяться) до начала дальнейшей транзакции. ingres_connect Подключение к серверу Ingres II resource ingres_connect ([string database [, string username [. string password]]]) Возвращает дескриптор подключения Ingres II либо FALSE — при ошибке. Довод database имеет синтаксис: [node_id: :]dbname[/svr_class]. Для неуказанных параметров применяются значения из файла конфигурации php.ini ingres.default_database, Ingres.default_user и Ingres. default_password. От того что все ingres-функции применяют дескриптор последнего открытого подключения по умолчанию, его не требуется сберегать, если имеется каждого одно подключение. Подключение закрывается при заключении сценария либо очевидном вызове ingres_close(). <?php См. также: ingres_pconnect() и ingres_close(). ingres_pconnect Создание устойчивого подключения к ВД сервера Ingres II resource ingres_pconnect ([string database [, string username [, j string password]]]) Возвращает дескриптор подключения либо FALSE — при ошибке. ingres_pconnect() действует аналогично ingres_connect() с двумя различиями. Перед подключением функция пытается проверить, имеется ли теснее открытое (устойчивое) подключение с параметрами (имя БД, пользователя и пароль), аналогичными указанным. Если такое подключение обнаруживается, то возвращается его идентификатор взамен создания нового подключения. При заключении сценария подключение не закрывается, а остается действительным для последующего применения. (Функция ingres_ close() не может закрыть подключения, сделанные с поддержкой ingres_ pconnect().) См. также: ingres_connect() и ingres_close(). Ingres_close Закрытие подключения bool ingres_dose ([resource link]) Возвращает TRUE либо FALSE — при ошибке. Идентификатор закрываемого подключения указывается в доводе; если его не указывать, то закрывается последнее открытое данным сценарием подключение. Реально применение данной функции не является непременным, так как РНР механически закрывает все незакрытые неустойчивые подключения при заключении сценария. Подметьте: устойчивые подключения не закрываются. См. также: ingres_connect() и ingres_pconnect(). ingres_query Выполнение запроса к БД bool ingres_query (string query [, resource link]) Возвращает TRUE либо FALSE — при ошибке. Запрос становится частью нынешней транзакции (при необходимости открывается новая). Для заключения транзакции вызывается ingres_ commit(), а с подмогой ingres_roTlback() дозволено отменить транзакцию. Функцией ingres_autocommit() дозволено установить режим незамедлительного выполнения запроса. Некоторые запросы SQL не могут выполняться данной функцией: «GET DBEVENT», «PREPARE TO COMMIT», / «SAVEPOINT» и все запросы, использующие курсор. <?php См. также: ingres_fetch_array(), ingres_fetch_object(), ingres_fetch_row(), ingres_commit(), ingres_roTlback() и ingres_autocommit(). ingres_rollback Отмена транзакции bool ingres_roTlback ([resource link]) Закрывает нынешнюю транзакцию, отменяя все метаморфозы, внесенные запросами от начала транзакции. Новая транзакция открывается при дальнейшем вызове ingres_query(). См. также: ingres_query(), ingres_commit() и ingres_autocommit(). ingres_commit Заключение транзакции boo! ingres_commit ([resource link]) Закрывает нынешнюю транзакцию, фиксируя все метаморфозы, внесенные запросами от начала транзакции. Новая транзакция открывается при дальнейшем вызове ingres_query(). Функцией ingres_autocommit() дозволено установить режим незамедлительного выполнения всего запроса. См. также: ingres_query(), ingres_rollback() и ingres_autocomnnt(). ingres_autocommit Переключение режима незамедлительного выполнения запроса bool ingres_autocomm1t ([resource link]) При запуске сценария по умолчанию запрос(-ы) (исполненный функцией ingres_query()) нужно завершать очевидно, вызовом функции ingres_commit() (либо отменять транзакцию с поддержкой ingres_ rollbackO). Если же (вызовом данной функции) переключить режим автовыполнения, то запросы будут выполняться незамедлительно, то есть позже всего запроса неявно вызывается ingres_commit(). Повторный вызов функции переключает режим на противоположный. См. также: ingres_query(), ingres_rollback() и ingres_commit(). ingres_num_rows Приобретение числа измененных либо возвращенных запросом записей int ingres_num_rows ([resource link]) Позже запросов DELETE, INSERT, UPDATE функция возвращает число измененных записей, а позже запросов выборки — число возвращенных записей (функция должна вызываться до разборки итога запроса функциями ingres_fetch_array(), ingres_fetch_object() либо ingres_fetch_row()). В цикле обработки итогов запроса для проверки того, все ли записи были обработаны, рациональнее применять возвращаемое fetch-функциями значение. См. также: ingres_query(), ingres_fetch_array(), ingres_fetch_object() и ingres_fetch_row(). ingres_num_fields Приобретение числа возвращенных запросом полей int ingres_num_fields ([resource link]) См. также: ingres_query(), ingres_fetch_array(), ingres_fetch_object() n ingres_fetch_row(). ingres_fetch_row Занесение записи в нумерованный массив array ingres_fetch_row ([resource link]) Возвращает в массиве (нумерация полей начинается с 1) следующую запись, возвращенную запросом, либо FALSE, если все записи теснее были обработаны. <?php См. также: ingres_num_fields(), ingres_query(), ingres_fetch_array() и ingres_fetch_object(). ingres_fetch_array Занесение записи в массив array ingres_fetch_array ([int result_type [, resource link]]) Возвращает в массиве следующую запись, возвращенную запросом, либо FALSE, если записей огромнее не имеется. Данная функция является растяжением функции ingres_fetch_row(), и она может возвращать нумерованный либо ассоциативный массив (а также объединенный). Вид возвращаемого массива может указываться в доводе result_type одной из констант: II_NUM, II_ASSOC, П_ВОТН (по умолчанию). В ассоциативных массивах индексами служат имена полей. Если имеются одноименные поля, применяется последнее имя. Для доступа к одноименным полям дозволено применять числовые индексы (поля нумеруются в той последовательности, в которой указаны в запросе либо в таблице) либо псевдонимы. ingres_query(select tl.fl as f t2.il as b from tl. t2): Подметьте, что функция выполняется лишь незначительно неторопливей, чем ingres_fetch_object(), но предоставляет дополнительную функциональность. <?php См. также: ingres_query(), ingres_num_fields(), ingres_field_name(), ingres_fetch_object() и ingres_fetch_cow(). ingres_fetch_object Приобретение записи в свойствах объекта object ingres_fetch_object ([int result_type [, resource link]]) Возвращает объект, в свойствах которого находятся поля нынешней записи, либо FALSE, если записей больше не имеется. Подметьте: осуществлять доступ к полям по их номерам нереально (объект не может иметь численные свойства). По скорости выполнения функция одинакова ingres_fetch_array() и примерно одинакова ingres_fetch_row(). <?php См. также: ingres_query(), ingres_num_fields(), ingres_field_name(), ingres_fetch_array() и ingres_fetch_row(). ingres_field_name Приобретение имени поля записи в итоге запроса string ingres_field_name (int index [, resource link]) Функция возвращает имя поля с индексом index (нумерация начинается с 1) комплекта записей, возвращенных запросом, либо FALSE — при ошибке. См. также: ingres_query(), ingres_num_fields(), ingres_fetch_array(), ingres_fetch_object() и ingres_fetch_row(). ingres_field_type Приобретение типа поля string ingres_field_type (int index [, resource link]) Функция возвращает имя поля с индексом index (нумерация начинается с 1) комплекта записей, возвращенных запросом, либо FALSE — при ошибке. Возвращаемые типы полей: IIAPI_BYTE_TYPE, IIAPI_CHA_TYPE, IIAPI_DTE_ TYPE, IIAPIJLTJYPE IIAPIJNTJYPE, IIAPI_VCH_TYPE. Некоторые типы могут соответствовать нескольким SQL-типам в зависимости от длины поля (см. ingres_field_length()). Скажем, IIAPI_FLT_TYPE может соответствовать float4 либо floatS. См. документацию: «Ingres/OpenAPI User Guide — Appendix С». См. также: ingres_query(), ingres_num_fields(), ingres_fetch_array(), ingres_fetch_object() и ingres_fetch_row(). ngres_field_nullable Выяснение, может ли поле принимать значение null bool ingres_field_nullable (int index [, resource link]) Возвращает TRUE, если поле с индексом index (нумерация начинается с 1) может иметь значение NULL, напротив возвращает FALSE. См. также: ingres_query(), ingresjium_fields(), ingres_fetch_array(), ingres_fetch_object() и ingres_fetcn_row(). Ingres_field_prength Приобретение длины поля int ingres_field_length (int index [, resource link]) Возвращает длину поля (наивысшее число байт) с индексом index (нумерация начинается с 1) комплекта записей, возвращенных запросом, либо FALSE — при ошибке. См. документацию «Ingres/OpenAPI User Guide — Appendix С». См. также: ingres_query(), ingres_num_fields(), ingres_fetch_array(), ingres_fetch_object() и ingres_fetch_row(). ingres_field_precision Приобретение точности поля int ingres_field precision (int index [, resource link]) Возвращает точность поля (только для полей, содержащих числовые значения) с индексом index (нумерация начинается с 1) комплекта записей, возвращенных запросом. См. документацию «Ingres/OpcnAPI User Guide — Appendix С». См. также: ingres_query(), ingres_num_fie1ds(), ingres_fetch_array(), ingres_fetch_object() и ingres_fetch_row(). ingres_field_scale Приобретение размерности поля int ingres_field_scale (int index [, resource link]) Возвращает масштаб целочисленного нуля с индексом index. См. документацию «Ingrcs/OpenAPI User Guide — Appendix С». См. также: ingres_query(), ingres_num_fields(), ingres_fetch_array(), ingres_fetch_object() и ingres_fetch_ieow(). Sybase connect Подключение к серверу Sybase int sybase_connect (string server-name, string username, string ' password [, string charset]) Возвращает дескриптор подключения к серверу Sybase либо FALSE -при ошибке. Довод servername должен быть действительным именем, определенном в файле interfaces. Если функция вторично вызывается с теми же доводами, новое подключение не создастся, а возвращается идентификатор имеющегося. Подключение к серверу закрывается при заключении сценария либо ранее, если очевидно вызывается функция sybase_close(). См. также: sybase_pconnect(), sybase_close(). sybase_close Закрытие подключения к Sybase bool sybase_close (int link_identifier) Возвращает TRUE либо FALSE — при ошибке. Идентификатор закрываемого подключения указывается в доводе; если его не указывать, то закрывается последнее открытое данным сценарием подключение. Реально применение данной функции не является непременным, так как РНР механически закрывает все незакрытые неустойчивые подключения при заключении сценария. Подметьте: устойчивые подключения, сделанные функцией sybase_pconnect(), не закрываются. См. также: sybase_connect(), sybase_pconnect(). sybase_pconnect Создание устойчивого подключения к серверу Sybase int sybase_pconnect (string servername, string username, string password [, string charset]) Возвращает дескриптор устойчивого подключения либо FALSE — при ошибке. sybase_pconnect() действует аналогично sybase_connect() с двумя различиями. Перед подключением функция пытается проверить, имеется ли теснее открытое (устойчивое) подключение с параметрами (имя сервера, пользователя и пароль), аналогичными указанным. Если такое подключение обнаруживается, то возвращается его идентификатор взамен создания нового подключения. При заключении сценария подключение не закрывается, а остается действительным для последующего применения. (Функция sybase_ close() не может закрыть подключения, сделанные с подмогой sybase_ pconnect().) sybase_select_db Выбор БД Sybase bool sybase_se!ect_db (string databasejiame, int link_identifier) Возвращает TRUE либо FALSE — при ошибке. Устанавливает БД с именем database_name в качестве энергичной для нынешнего подключения либо указанного в link_identifier. Если подключений не имеется, то неявно вызывается функция sybase_connect() с параметрами по умолчанию. Дальнейшие запросы, исполняемые функцией, будут адресованы данной БД. См. также: sybase_connect(), sybase_pconnect() и sybase_query() sybase_query Выполнение запроса к БД Sybase int sybase_query (string query, int link_identifier) Посылает запрос нынешней БД, энергичной для нынешнего (последнего открытого) подключения либо указанного в link_identifier. Если подключений не имеется, то неявно вызывается функция sybase_ connect() с параметрами по умолчанию. Возвращает дескриптор комплекта возвращенных записей либо FALSE -при ошибке. См. также: sybase_select_db() и sybase_connect(). sybase_affected_rows Приобретение числа измененных последним запросом записей int sybase_affected_rows ([int link_identifier]} Возвращается число записей, измененных в итоге выполнения запросом DELETE, INSERT, REPLACE либо UPDATE. Если последним запросом была команда DELETE без ограничения WHERE, то из таблицы будут удалены все записи, но эта функция возвратит 0. Дабы узнать, сколько записей было возвращено командой SELECT, используйте функцию sybase_num_rows(). Функция доступна только при применении библиотеки интерфейса СТ Sybase, но не D В Sybase. Sybase_num_rows Приобретение числа записей, возвращенных запросом int sybase_num_rows (int result) См. также: sybase_query() и sybase_fetch_row(). sybase_num_fields Приобретение числа полей в комплекте записей int sybase_num_fields (int result) См. также: sybase_query(), sybase_fetch_field(), sybase_num_rows(). sybase_data_seek Перемещение внутреннего указателя записи bool sybase_data_seek (int result_identifier. int row_number) При всяком вызове функции sybase_fetch row() (либо сходственной) внутренний курсор записи смещается на следующую запись. Данная функция разрешает вольно перемещать курсор в комплекте записей res ul t_ identifier так, дабы он указывал на запись с номером row_number (нумерация начинается с 0) при дальнейшем вызове sybase_fetch_rov*(). Она возвращает TRUE либо FALSE — при ошибке. Sybase_result Приобретение определенного элемента комплекта записей string sybase_result (int result, int row, mixed field) Возвращает содержимое ячейки из комплекта записей resul t. В доводе row указывается номер записи (нумерация начинается с 0), в доводе field дозволено указать индекс поля (число), имя поля, полное имя поля (вида: имя_таблицы.имя_поля) либо псевдоним поля (для запросов типа 'SELECT foo AS bar FROM...). При работе с огромными комплектами записей стремительней выполняются функции типа _fetch_ (см. ниже). Также подметьте, что численные индексы обрабатываются стремительней строковых. Не следует вызывать функцию mysql_result() в сочетании с другими функциями обработки комплекта записей. Рекомендуется применять альтернативные функции: sybase_fetch_ row(), sybase_fetch_array() и sybase_fetch_object(). sybase_fetch_row Занесение записи в нумерованный массив array sybase_fetch_row (int result) Возвращает массив, соответствующий нынешней записи, из комплекта записей result, возвращенных запросом (дальнейший вызов функции возвращает следующую запись), либо FALSE, если записей больше не имеется. Всякое поле записи сохраняется в нумерованном элементе массива (нумерация начинается с 0). См. также: sybase_fetch_array(), sybase_fetch_object(), sybase_data_seek(), sybase_result(). sybase_fetch_array Занесение записи в массив array sybase_fetch_array (int result) Возвращает массив, соответствующий нынешней записи, из комплекта записей result, возвращенных запросом, либо FALSE, если записей больше не имеется (при этом курсор записи перемещается на следующую). Данная функция является растяжением функции sybase_fetch_row(), и она возвращает объединенный нумерование-ассоциативный массив. Доступ к элементам массива может осуществляться как через имена полей, так и по их номеру. Подметьте, что функция выполняется незначительно неторопливей, чем sybase_fetch_row(), но предоставляет дополнительную функциональность. См. также sybase_fetch_row(). sybase_fetch_object Приобретение записи в свойствах объекта int sybase_fetch_object (int result) Возвращает объект, в свойствах которого находятся поля нынешней записи, либо FALSE, если записей больше не имеется. По скорости выполнения (и функциональности) функция одинакова sybase_fetch_array() и примерно одинакова sybase_fetch_row(). См. также: sybase_fetch_array() и sybase_fetch_row(). sybase_free_result Истребление комплекта записей bool sybase_free_result (int result) Функция освобождает память, занимаемую комплектом записей result, возвращенным запросом. Ее следует применять только в том случае, если требуется экономить память, потому что память механически освобождается при заключении сценария. sybase_fetch_field Приобретение информации о поле записи в свойствах объекта object sybase_fetch_field (int result [, int field_offset]) Если номер поля field_offset не указан, при всяком вызове функции возвращаются свойства дальнейшего поля из комплекта записей resul t. Возвращаемый объект имеет следующие свойства (и содержит информацию):
См. также sybase_field_seek(). sybase_field_seek Перемещение к указанному полю int sybase_field_seek (int result, int field_offset) Перемещается к указанному числом field_offset нулю. И если при дальнейшем вызове sybase_fetch_field () не указывается номер поля, будет возвращено это поле. См. также sybase_fetch_field(). sybase_get_last_message Приобретение последнего сообщения сервера string sybase_getjast_message (void) sybase_min_client_severity Установка малейшего яруса требовательности заказчика void sybasejnin_client_severity (int severity) Функция доступна только при применении библиотеки интерфейса СТ Sybase, но не DB Sybase. См. также sybase_min_server_severity(). sybase_min_server_severity Установка малейшего яруса требовательности сервера void sybase_min_server_severity (int severity) Функция доступна только при применении библиотеки интерфейса СТ Sybase, но не DB Sybase. См. также sybaseji)in_client_severity(). sybase_min_message_severity Установка малейшего яруса возвращаемых сообщений void sybase_min_message_severity (int severity) См. также sybase_min_error_seventy(). sybase_min_error_severity Установка малейшего яруса уведомляемых ошибок void sybase_min_error_severity (int severity) См. также sybase_rain_message_severity(). Приблизительный пример работы с БД: <?php Ora_Logon Подключение к серверу Oracle int orajogon (string user, string password) Возвращает дескриптор подключения к БД либо FALSE — при ошибке. Подключения также могут создаваться с применением синтаксиса SQL*Net с указанием TNS имени пользователя user в виде: Sconn = Ora_Logon Если имеются не-ASCII символы, то должна быть установлена (до запуска сервера) переменная окружения (Oracle) NLS_LANG. Ora_Logoff Закрытие подключения int orajogoff (int connection) Возвращает TRUE либо FALSE — при ошибке. См. также ora_logon(). Ora_pLogon Создание устойчивого подключения к серверу Oracle int ora_plogon (string user, string password) См. также oraJogon(). Ora_0pen Открытие курсора int ora_open (int connection) Возвращает индекс курсора для подключения connection либо FALSE -при ошибке. Ora_Close Закрытие курсора int ora_close (int cursor) Закрывает курсор, открытый ora_open(). Возвращает TRUE либо FALSE -при ошибке. Ora_CommitOn Разрешение автовыполнения запросов /» int ora_commiton (int conn) { Всякий запрос для подключения conn, исполняемый функцией ога_ ехес(), будет механически завершаться. Возвращает TRUE либо FALSE — при ошибке. Ora_CommitOff Закроет автовыполнения запросов int ora commitoff (int conn) Ora _Commit Заключение нынешней транзакции int ora_commit (int conn) Транзакцией является серия изменений в БД (запросов) позже последнего заключения транзакции (если автозавершсние было отключено). Возвращает TRUE либо FALSE — при ошибке. Ora_Rollback Отмена транзакции int ora_rolI back (int connection) Функция, обратная ora_commit(). Возвращает TRUE либо FALSE — при ошибке. Ora_Parse Истолковывание SQL-запроса int ora_parse (int cursor_ind, string sql_statement, int defer) Подготавливает для исполнения запрос SQL либо блок PL/SQL и объединяет с курсором. Возвращает 0 либо -1 - при ошибке. См. также: ога_ехес(), ora_fetch() и ora_do(). Ога_Ехес Исполнение подготовленного запроса int ora_exec (int cursor) Возвращает TRUE либо FALSE — при ошибке. См. также: ora_parse(), ora_fetch() и ora_do(). Ora_Do Одновременное выполнение команд Parse; Exec, Fetch int ora_do (int conn, string query) Функция является комбинацией 3 функций: ora_parse(), ora_exec(), ora_fetch(). Возвращает TRUE либо FALSE — при ошибке. См. также: ora_parse(), ora_exec() и ora_fetch(). Ora_Bind Связывание переменной РНР с SQL-параметром Oracle int ora_bind (int cursor, string PHP_var_name, string SQL_param_name, int length [, int type]) Возвращает TRUE либо FALSE — при ошибке. SQL параметр должен указываться в виде ":name". Необязательным доводом type дозволено указать вид SQL параметра (входящий, выходящий): IN/OUT (0, по умолчанию), in (1) либо out (2). В РНР 3.0.1 дозволено применять взамен цифр константы: ORA_BIND_INOUT, ORA_ BINDJN и ORA_BIND_OUT. Функция должна вызываться позже ora_parse() и до ога_ехес(). <?php Ora_Error Приобретение сообщения об ошибке Oracle string Ora_Error (int cursor_or_connection) Сообщение возвращается в виде строчек вида XXX-NNNNN, где XXX обозначает место появления ошибки, a NNNNN — причину. Ora_ErrorCode Приобретение кода ошибки Oracle int Ora_ErrorCode (int cursor_or_connection) Возвращает численное значение ошибки, произошедшей при последней операции. О обозначает неимение ошибки. Ora_Numcols Приобретение числа полей, возвращенных запросом int orajiumcols (int cursorjind) См. также: ora_parse(), ora_exec(), ora_fetch() и ora_do(). Ora_Numrows Приобретение числа записей, возвращенных запросом int orajiumrows (int cursor_ind) Ora_Fetch Приобретение записи int ora_fetch (int cursor) Возвращает TRUE либо FALSE — при ошибке либо если записей огромнее не имеется. См. также: ora_parse(), ora_exec() и ora_do(). Ora_Fetch_lnto Приобретение записи в массиве int ora_fetch_into (int cursor, array result [, int flags]) <?php array($results); Подметьте, что массив нужно передавать по ссылке. См. также: ora_parse(), ora_exec(), ora_fetch() и ora_do(). Ora_GetColumn Приобретение данных поля записи mixed ora_getcolumn (int cursor, mixed column) Возвращает значение поля (либо итога SQL/PL функции) либо FALSE — при ошибке. Подметьте, что возвращаемые данные могут иметь значения: NULL, "", О, "О". Ora_ColumnName Приобретение имени поля string Ora_ColumnName (int cursor, int column) Возвращает имя в верхнем регистре. Ora_ColumnSize Приобретение размера поля int Ora_ColumnSize (int cursor, int Column) Ora_ColumnType Приобретение типа поля string Ora_ColumnType (int cursor, int column) Возвращаемая строка может иметь следующие значения:
Эта группа функций дозволяет обращаться к серверам БД Oracle 8 и Oracle 7, применяя Oracle 8 Call-Interface (OCI8). Для этого требуются клиентские библиотеки Oracle 8. Это растяжение больше функционально, нежели стандартное; оно поддерживает связывание переменных РНР с переменными Oracle, имеет полную поддержку типов LOB, FILE, ROWID и разрешает применять определяемые пользователем переменные. До применения этого растяжения нужно установить параметры окружения Oracle. Это включает установку следующих системных переменных:
Позже этого нужно добавить в группу пользователей oracle пользователя (обыкновенно nobody либо www), от имени которого запускается РНР (web-сервер). OCIServerVersion Приобретение строки информации сервера string OCIServerVersion (int conn) <?php OCILogon Подключение к серверу Oracle int OCILogon (string username, string password [, string db]) Возвращает дескриптор подключения, нужный для указания для большинства функций OCI. В третьем доводе дозволено указать либо константное имя локальной БД, либо ссылку на раздел в файле tnsnames.ora; если данный довод не указан, РНР будет применять переменные окружения ORACLE_SID либо TWO_TASK (tnsnames. ога) для определения, к какой БД следует подключиться. Подключения, сделанные этой функцией, становятся разделяемыми на ярусе сценария, что обозначает, что все команды COMMIT и ROLLBACK будут использоваться ко каждом транзакциям, даже если они принадлежат различным подключениям (см. пример ниже). См. также: OCIPLogonz() и OCINLogon(). OCINLogon Создание изолированного подключения к БД Oracle int OCINLogon (string username, string password [, string db]) Функция сходна с OCILogon(), но отличается тем, что все onepai COMMIT и ROLLBACK используются только к транзакциям укаг ною подключения. Пример показывает распределение подключений. <?php $db = "": См. также: OCILogon() и OCIPLogon(). OCILogOff Отключение от Oracle int OCILogOff (int connection) OCIPLogon Создание устойчивого подключения к Oracle int OCIPLogon (string username, string password [, string db]) Функция сходна с OCILogon(), но отличается тем, что подключение не закрывается позже заключения сценария и остается действительным для последующего применения. См. также: OCILogon() и OCINLogon(). OCIInternalDebug Разрешение либо воспрещение внутренней отладки void OCIInternalDebug (int onoff) По умолчанию отладка запрещена. Указание в доводе значения О выключает отладку, а 1 — включает. OCIDefineByName Предназначение PHP-переменной для возвращения значения из запроса SELECT int OCIDefineByName (int stmt, string ColumnName, mixed variable [, int type]) Применяется при необходимости возвращения запросом выборки stmt данных поля ColumnName в переменную variable (тип возвращаемых данных type дозволено не указывать). Имя поля должно быть указано в верхнем регистре (в запросе регистр не главен). Если вы определяете переменную, отсутствующую в запросе, ошибки не появляется. Типы абстрактных данных (LOB/ROWID/BFILE) нужно заблаговременно инициализировать функцией OCINewDescriptor(). См. также OCIBindByName(). <?php OCIBindByName Связывание переменной РНР с Oracle int OCIBindByName (int stmt, string ph_name, mixed invariable, int length [, int type]) Назначает переменную PHP variable для ввода-итога данных ир операциях с Oracle в качестве параметра phjiame. Довод length устанавливает размер данных переменной в байтах; значение -1 указывает, что размер определяется механически. Для операций с абстрактными типами (LOB/ROWID/BFILE) прел варитслыю нужно инициализировать их дескриптор функци ей OCINewDescriptorO. Для этих типов размер length должен обиход указан значением -1. Тип type может определяться дальнейшим константами: OCI_B_FILE (двоичный файл), OCI_B_CFILE (символьны файл), OCI_B_CLOB (символьный LOB), OCI_B_BLOB (двоичный LOB) OCI_B_ROWIO (ROWID). <?php OCI Parse Подготовка запроса к выполнению int OCIParse (jnt conn, strint query) Возвращает дескриптор запроса query для подключения conn либо FALSE - при ошибке. OCIExecute Выполнение запроса int OCIExecute (int statement [, int mode]) Исполняет счапрос, заблаговременно подготовленный OCIParseO. Доводом mode дозволено указать режим исполнения (по умолчанию OCI_COMMIT_Olsj_sUCCESS); если не требуется механическое выполнение запроса, указывайте OCI_DEFAULT. OCICommit Заключение незавершенных транзакций int OCICommit (int connection) OCIRollback Отмена незавершенных транзакций int OCIRollback (int connection) OCINewDescriptor Инициализация дескриптора LOB/FILE string OCINewDescriptor (int connection [, int type]) Выделяет источники, нужные для хранения дескрипторов либо LOB-локаторов. Тип дозволено указать в доводе type: OCI_D_FILE, OCI_DJ_OB (по умолчанию), OCI_D_ROWID. Для объектов LOB доступны способы load, save и savefile, а для BFILE — только load. <?php // фрагмент for retrieve OCIRowCount Приобретение числа измененных записей int OCIRowCount (int statement) Возвращается число записей, измененных запросом (скажем, UPDATE). Функция не возвращает число возвращенных запросом записей! <?php $conn = OCILogonC'scott"."tiger"):
OCINumCols Приобретение числа полей в запросе int OCINumCols (int stmt) <?php Sconn = OCILogonC'scott". "tiger");
OCIResult Приобретение значения поля записи, возвращенной запросом mixed OCIResult (int statement, mixed column) Возвращает данные нуля column нынешней записи (см. OCIFetch()). Возвращает все типы данных как строки, за исключением абстрактных типов (ROWID, LOB и FILE). OCIFetch Занесение дальнейшей возвращенной записи в буфер итога int OCIFetch (int statement) Разрешает получить запись позже запроса выборки (SELECT) с подмогой последующих вызовов OCIResultO, возвращающих поля записи. OCIFetchlnto Занесение дальнейшей записи в массив Int OCIFetchlnto (int stmt, array Sresult [, int mode]) Функция дозволяет поочередно получить все записи, возвращенные запросом выборки. По умолчанию массив result будет содержать все поля записи (содержащие данные, не равные NULL) с нумерацией начиная с 1. Довод mode дозволяет изменить действие функции. Константы могут комбинироваться сложением (скажем, OCI_ASSOC+OCI_RETURN_NULLS):
OCIFetchStatement Занесение итога запроса в массив int OCIFetchStatement (int stmt, array Svariable) Возвращает число записей, внесенных в массив variable. <?php Sconn = OCILogonC'scott"."tiger"):
OCIColumnlsNULL Проверка, содержит ли поле записи значение NULL int OCIColumnlsNULL (Int stmt, mixed column) Возвращает TRUE, если нуле column в итоге запроса strat имеет значение NULL. Поле может указываться номером (начиная с 1) либо именем. OCIColumnName Приобретение имени поля string OCIColumnName (int stmt, int col) <?php Sconn OCILogonC'scott". "tiger").
См. также: OCINumCols(), OCIColumnType() и OCIColumnSize().
OCIColumnSize Приобретение размера поля int OCIColumnSize (Int stmt. mixed column) См. также: OCINumCols(), OCIColumnName() и OCIColumnSize(). OCIColumnType Приобретение типа поля mixed OCIColumnType (int stmt, int col) См. также: OCINumCols(), OCIColumnName() и OCIColumnSize(). OCIStatementType Приобретение типа ОСI запроса string OCIStatementType (int stmt) Возвращает одно из следующих значений:
<?php OCINewCursor Приобретение нового курсора (дескриптора запроса) int OCINewCursor (int conn) Применяется для связывания ссылочных курсоров. <?php // хранимая процедура info.output возвращает ref
cursor в :data OCIFreeStatement Освобождение источников, занимаемых запросом int OCIFreeStatement (int stmt) Возвращает TRUE либо FALSE — при ошибке. OCIFreeCursor Освобождение источников курсора Int OCIFreeCursor (int stmt) Возвращает TRUE либо FALSE — при ошибке. OCIFreeDesc Истребление дескриптора большого объекта int OCIFreeDesc (object lob) Возвращает TRUE либо FALSE — при ошибке. OCI Error Приобретение последнего сообщения об ошибке array OCIError ([int stmt|conn(global]) Возвращает ассоциативный массив, содержащий элементы code (номер ошибки) и message (сообщение ошибки). Если ошибки не про-> изошло, возвращает FALSE. Доводом дозволено указать дескриптор, для которого получается сообщение. Данная группа функций разрешает трудиться с данными БД dBase (dbf). Индексы и memo-поля не поддерживаются. Блокировка также немыслима, следственно, если два процесса web-сервера единовременно модифицируют один файл dBase, это может привести к его порче. В различие от SQL БД конструкция «БД» dBase не поддается модификации. dBase-файл представляет собой примитивную последовательность записей фиксированной длины; добавляемые записи дописываются в конец файла, а удаленные сохраняются до вызова функции dbase_ pack(). Рекомендуется применение современных БД, скажем MySQL либо Postgres. Следственно помощь dBase в РНР предуготовлена экстраординарно для экспорта и импорта (для упрощения обмена с другими приложениями). dbase_create Создание БД dBase int dbase_create (string filename, array fields) Довод fields — это массив массивов, где весь из массивов описывает одно поле БД (таблицы). Всякое поле состоит из имени, символа, обозначающего тип, и (при необходимости) размера поля и его точности. Допустимые типы полей:
Если файл БД был благополучно сделан, возвращается его дескриптор; в отвратном случае возвращается FALSE. Sdbname = "/trap/test.dbf": // "database"
name ; dbase_open Открытие БД dBase int dbase_open (string filename, int flags) В доводе flags указывается режим открытия (0 — только для чтения, 1 — только для записи и 2 — для чтения и записи). Возвращает дескриптор БД либо FALSE — при ошибке. dbase_close Закрытие БД dBase bool dbase_close (int dbase_identifier) dbase_pack Обновление БД dBase bool dbase_pack (int dbase_identifier) При этом удаляются все записи, помеченные с поддержкой dbase_ delete_record(). dbase_add_record Добавление записи bool dbase_add_record (Int dbase_identifier, array record) Добавляет запись, поля которой содержатся в массиве record в БД. Если число полей записи не соответствует числу полей в БД, добавление не производится и функция возвращает FAbSE. dbase_replace_record Замена Записи bool dbase_replace_record (int dbase_identifier. array record, int dbase_record_number) Заменяет запись (с номером dbase_record_number), поля которой содержатся в массиве record. Если число полей записи не соответствует числу полей в БД, добавление не производится и функция возвращает FALSF. Номера записей лежат в пределах от 1 до значения, возвращенного / dbase_numrecords(). dbase_delete_record Удаление записи bool dbase_delete_record (int dbasejidentifier. int record) Помечает запись с номером record для удаления дальнейшим вызовом dbase_pack(). dbase_get_record Приобретение записи array dbase_get_record (int dbasejdentifier, int record) Возвращает массив, содержащий поля записи с номером record. Массив индексируется начиная с 0 и имеет элемент с индексом «deleted», равный 1, если запись была удалена (см. dbase_delete_record()). Всякое поле преобразуется к соответствующему типу РНР. (Даты сохраняются как строки.) dbase_get_record_with_names Занесение записи в ассоциативный массив array dbase get_record_with_names (int dbase_identifier, int record) Функция подобна dbase_get_record(), но взамен числовых индексов применяются имена полей. dbase_numrecords Установление числа записей БД int dbasejiumrecords (int dbase_identifier) При обращении к записям БД их допустимые номера лежат в пределах от 1 до значения, возвращаемого данной функцией. dbase_numfields Установление числа полей БД int dbasejiumfields (Int dbase_identifier) При обращении к полям записи их допустимые номера лежат в пределах от 0 до значения, возвращаемого данной функцией, уменьшенного на единицу. $гес = dbase_get_record($db. Srecno); Эта ipynna функций разрешает манипулировать записями в dbm-БД. ^ Данный тип БД поддерживается системными библиотеками Berkeley DB, GDBM наравне со встроенной помощью «плоских файлов». Данные в них сохраняются в виде пар «имя/значение». $dbm = dbmopen ("lastseen". "w"); dbmopen Открытие БД DBM int dbmopen (string filename, string flags) 1-й довод содержит полное имя DBM-файла БД, а 2-й — режим открытия: «г», «w», «n», «с» соответственно для чтения, для чтения и записи, создание новой БД (для чтения и записи), добавление в имеющуюся БД либо ее создание. Возвращает дескриптор БД, применяемый всеми последующими функциями, либо FALSE — при ошибке. При применении поддержки NDBM, NDBM реально создает файлы filename.dir и filename.pag. GDBM (как и встроенная библиотека поддержки «плоских файлов») использует только один файл, a Berkeley DB создает файл fllename.db. Подметьте: РНР самосильно блокирует файл в дополнение к тому, что он может блокироваться библиотекой DBM. РНР не удаляет файлы .Ick, которые создает. dbmclose Закрытие БД DBM bool dbmclose (int dbm_identifier) Разблокирует и закрывает открытую БД. dbmexists Проверка существования имени bool dbmexists (int dbm_identifier, string key) Возвращает TRUE, если имеется значение с именем key, либо FALSE - при ошибке. dbmfetch Приобретение значения элемента string dbmfetch (int dbirMdentifier, string key) Возвращает значение для имени key. dbminsert Добавление элемента int dbminsert (int dbm_identifier, string key, string value) Возвращает -1, если БД была открыта только для чтения; 0, если добавление было благополучно исполнено; и 1, если указанный элемент теснее существует (для замены используйте dbmreplace()). dbmreplace Замена значения bool dbmreplace (int dbm_identifier, string key. string value) Если указанного элемента key не существовало, он создается. dbmdelete Удаление элемента boo! dbmdelete (int dbnMdentifier, string key) Возвращает FALSE, если элемент key в БД не присутствует. dbmfirstkey Приобретение имени первого элемента string dbmfirstkey (int dbm_identifier) Порядок элементов не гарантируется (потому что могут применяться внутренние хеш-таблицы). dbmnextkey Приобретение дальнейшего элемента string dbmnextkey (int dbm_identifier, string key) В примере демонстрируется, как дозволено получить все значения БД: $key = dbmfirstkey (Sdbmjid). while ($key) { dblist Приобретение изложения применяемой библиотеки DBM I string dblist (void) Эти функции предуготовлены для работы с разновидностями Berkeley DB. Реально помощь ограничена современными подобиями Slcepycat Software DB2 (не путайте с IBM DB2, использующей интерфейс ODBC). Действие некоторых функций различается в зависимости от реализации БД. Скажем, функции dba_optimize() и dba_sync() действуют согласно изложению, но могут быть идеально непотребны для некоторых видов БД. Дабы добавить поддержку ниже перечисленных БД в РНР, используйте указанные параметры —with сценария конфигурирования configure.
php $id = dba_open ("/Imp/test.db", "n".
"db2'). DBA разрешает трудиться с двоичными данными и ограничена только возможностями БД. БД, использующие файлы, обязаны предоставлять возможность указания режима открытия файла БД (либо его создания), и традиционно это указывается в доводе функций dba_open() и dba_popen(). Получить ступенчато все содержащиеся в БД элементы дозволено, применяя функции dba_firstkey() и dba_nextkey(). He изменяйте БД во время просмотра. <?php i .. .open database . dba_open Открытие БД Int dba_open (string path, string mode, string handler [, ...]) Открывает содержащуюся в файле path БД типа handler в режиме mode, тот, что .может принимать следующие значения: «г» для чтения, «w» для чтения и записи, «с» для открытия теснее присутствующей (либо i создания отсутствующей БД) с доступом для чтения и записи и «n» для создания файла БД снова и открытия его для чтения и записи. Добавочные доводы могут указываться для некоторых БД при необходимости. Функция возвращает дескриптор открытой БД / (нужный дальнейшим функциям для выполнения операций f, с БД) либо, при ошибке, FALSE. См. также: dba_popen(), dba_close(). dba_close Закрытие БД void dba_close (int handle) См. также: dba_open() и dba_popen(). dba_popen Устойчивое открытие БД int dba_popen (string path, string mode, string handler [, ...]) Функция подобна dba_open(), но подключение не закрывается при заключении сценария, а остается действительным для дальнейшего применения. См. также dba_close(). dba_exists Проверка наличия элемента в БД bool dba_exists (string key. int handle) Возвращает TRUE, если элемент с именем key имеется в БД handle FALSE в отвратном случае либо при ошибке. См. также: dba fetch(), dba_delete(), dba_insert() и dba_replace(). dba_firstkey Возвращение имени первого элемента БД string dba_firstkey (int handle) См. также Dba_nextkey(). dba_nextkey Возвращение имени дальнейшего элемента БД string dbajnextkey (int handle) См. также dba_firstkey(). dba_fetch Приобретение значения указанного элемента string dba_fetch (string key, int handle) См. также: dba_exists(), dba_delete(), dba_insert() и dba_replace(). dba_insert Добавление элемента в БД boo! dba_insert (string key, string value, int handle) Если элемент с именем key теснее присутствует в БД, операция не вы полняется. Возвращает TRUE пли FALSE — при ошибке. См. также: dba_exists(), dba_delete(), dba_fetch(), dba_replace(). dba_replace Замена либо добавление элемента boo! dba_replace (string key, string value, int handle) Возвращает TRUE либо FALSE — при ошибке. См. также: dba_exists(), dba_delete(), dba_fetch() и dba_insert(). dba_delete Удаление элемента string dba_delete (string key, int handle) Возвращает TRUE либо FALSE — при ошибке. См. также: dba_exists(), dba_fetch(), dba_insert() и dba_replace(). dba_optimize Оптимизация БД bool dba_optimfze (int handle) Возвращает TRUE пли FALSE — при ошибке. См. также dba_sync(). dba_sync Синхронизация изменений в БД boo! dba_sync (int handle) . Традиционно физически синхронизация изменений происходит сохранением файла на диск. Если эту операцию не исполнять, метаморфозы БД будут утрачены. Возвращает TRUE либо FALSE — при ошибке. См. также dba_optimize(). Функции дозволяют читать данные БД filePro. См. также http://www. fiteproplus.com/. filepro Чтение и проверка map-файла booll filepro (string directory) Map-файл содержит информацию о БД и ее структуре. Потому что никакой блокировки не выполняется, постарайтесь не модифицировать БД, открывая се в РНР. filepro_fieldcount Приобретение информации о числе полей в БД int filepro_fieldcount(void); См. также filepro(). filepro_rowcount Приобретение информации о числе записей в БД filePro int filepro_rowcount(void); См. также filepro(). filepro_retrieve Извлечение данных string filepro retrieve (int rowjiumber, int field_number) Возвращает данные поля, указанного номером fieldjiumber для записи rowjiumber. filepro_fieldname Приобретение имени поля string filepro_fieldname (int field_number) filepro_fieldtype Определение типа поля string fi]epro_fieldtype (int field_number) filepro-fieldwidth Определение размера поля int filepro_fie1dwidth (int field_number) Ovrimos SQL Server — это заказчик-серверная реляционная БД с помощью стремительных транзакций и "web-возможностями (http://www. ovrimos.com/). Для поддержки ovrimos в РНР нужно скомпилировать его с параметром конфигурирования -with-ovrimos. Также нужно установить библиотеку sqlcli, входящую я комплект поставки Ovrimos SQL Server. <?php Sconn = ovrTnos_connect(" server, сот;" "800Г. "admin", "passwrd"). if ($conn != 0) { echo ("Connection ok!"), ovrimos_connect Подключение к серверу и выбор БД int ovrimos_connect (string host, string db. string user, string password) Возвращает дескриптор подключения либо FALSE — при ошибке. В доводе host указывается имя сервера либо его IP-адрес, в db указывается либо имя БД, либо номер порта подключения. Также указываются имя пользователя и его пароль. ovrimos_close Закрытие указанного подключения void ovrimos_close (int connection) Все незавершенные транзакции отменяются. ovrimos_close_all Закрытие всех подключений void ovrimos_close_a"ll (void) Все незавершенные транзакции отменяются. ovrimos_cursor Приобретение типа курсора int ovrimos_cursor (int resulted) Пригодно при выполнении позиционированных обновлений либо удалениях. ovrimos_longreadlen Установка числа возвращаемых байтов для длинных полей int ovriraos_longreadlen (int result_id, int length) Для полей типа LONG VARCHAR и LONG VARBINARY, по умолчанию, возвращается 0 байтов, но дозволено установить произвольное значение в доводе length. ovrimos_prepare Подготовка запроса int ovrimos_prepare (int connection_id, string query) Возвращает FALSE (при ошибке) либо дескриптор запроса, применяемый для его дальнейшего исполнения функцией ovrimos_execute(). <?php $conn=ovrimos_connect ovrimos_execute Выполнение подготовленного запроса int ovrimos_execute (int result_id [, array parameters_array]) Запрос должен быть заблаговременно подготовлен функцией ovrimos_ preparet). Возвращает TRUE либо FALSE — при ошибке. Если запрос имеет параметры (обозначенные знаком вопроса), их значения передаются в массиве parameters_array. ovrimos_exec Выполнение запроса int ovrimos_exec (int connection_id, string query) Возвращает дескриптор возвращенного комплекта записей либо FALSE - при ошибке. Запрос не должен содержать параметров. ovrimos_num_rows Приобретение числа измененных записей в БД int ovrimos_num_rows (int result_id) Функция возвращает число записей, которые были изменены запросом. <?php Sconn = ovrimos_connect ovrimos_num_fields Приобретение числа полей, возвращенных запросом int ovrimos_num_fields (int result_id) ovrimos_fetch_into Занесение записи в массив int ovrimos_fetch_into (int resu!t_id, array resu!t_array [, string how [, int rownumber]]) Функция сберегает поля записи в массиве result_array, тот, что должен передаваться по ссылке. Какая запись будет сохранена, указывается в доводе how, тот, что может принимать одно из значений: «Next» (по умолчанию), «Prev», «First», «Last», «Absolute» (для этого случая требуется указать номер записи в доводе rownumber). Регистр не учитывается. Возвращает TRUE либо FALSE — при ошибке. <?php $conn=ovrimos_connect ovrimos_fetch_row Приобретение записи int ovrimos_fetch_row (int result_id [, int how [, int rowjiumber]]) Выбирает запись из возвращенных запросом для того, дабы ее данные дозволено было получить функцией ovrimos_resu"lt(). Возвращает TRUE либо FALSE — при ошибке. <?рhр Sconn = ovrimos_connect ovrimos_result Приобретение поля записи int ovrimos_result (int resultjid, mixed field) Возвращает поле записи, возвращенной запросом. Поле может быть указано его именем (либо порядковым номером, начиная с 1) в доводе field. Запись должна быть заблаговременно выбрана функцией ovrimos_fetch_row(). ovrimos_result_all Распечатка итога запроса в таблице HTML int ovrimos_result_all (int resultjd [, string format]) Возвращает TRUE либо FALSE — при ошибке. <?php Sconn = ovnmos_connect Дальше приводится расширенная версия приведенного выше сценария, выводящая метаинформацию. Example 2. Ovnmos_result_all with meta-information ovrimos_field_num Приобретение порядкового номера поля int ovrimos_field_num (Int result_id. string fieldjiame) ovrimos_field_name Приобретение имени поля int ovrimos_field_name (int result^id, int fieldjiumber) Поле указывается его порядковым (начиная с 1) номером fieldjiumber. ovrimos_field_type Приобретение типа поля int ovrimos_field_type (int resu!t_id, int field_number) ovrimos_field_len Приобретение размера поля int ovrimos_fieldjen (int result_id, int field_number) ovrimos_free_result Разрушение комплекта возвращенных записей int ovrimos_free_result (int result_id) ovrimos_commit Заключение транзакции int ovrimos_commit (int connection_id) ovrimos_rollback Отмена транзакции int ovrimos_rollback (int connection_id) |