Информационные технологииStfw.Ru 🔍

Ovrimos SQL

Взаимодействие с базами данных
🕛 01.11.2006, 14:03
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!"),
// select from a system tdble $res = ovnmos_exec (Iconn.
"select table_id. tablejtame from sys.tables"),
if ($res != 0) { echo "Statement ok!": ovrimos result_all ($res).
ovnmos_free_result ($res): } ovrimos close(Sconn). } ?>

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
("dbjiost". "8001". "admin", "password");
if ($conn'=0) { echo "Connection ok!";
$res=ovrimos_prepare ($conn.
"select tablejd. table_name from sys.tables
where table_id=l"); if ($res ' = 0) {
echo "Prepare ok!"; if (ovnmos_execute ($res))
{ echo "Execute ok!\n". ovnmos_result_all ($res);
) else { echo "Execute not ok!"; }
ovnmos_free_result ($res): } else {
echo "Prepare not ok!\n": } ovnmos_close (Sconn);} ?>

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
("dbjiost". "8001". "admin", "password").
if ($conn i= 0) { echo "Connection ok!":
Sres - ovrimos_exec (Sconn. "update test set i=5"):
if ($res != 0) { echo "Statement ok!":
echo ovrimos_num_rows ($res).
" Записей изменено \п": ovnmos_free_result (Sres): }
ovrimos_close (Sconn): } ?>

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
("neptune", "8001". "admin", "password");
if ($conn!=0) { echo "Connection ok":
$res=ovrimos_exec (Sconn."select t_id. t_name from tbl"):
if ($res != 0) {
echo "Statement ok!"; if (ovrimos_fetch_into
($res. &Srow)) { list ($table_id. $table_name)
= $row. echo "t_id=".$table_id.". tjiame=",
$table_name."\n"; if
(ovnmos_fetch_into ($res. &$row))
{ / list ($table_id, $table_name) = $row:
echo "t_id=".$table_id.". t_name=",$table_name."\n"; j
} else { \. echo "Next; error\n"; } else {
echo "First; error\n"; } ovnmos_free result ($res); }
ovnmos_close ($conn); ?>

ovrimos_fetch_row

Получение записи

int ovrimos_fetch_row (int result_id [, int how [, int rowjiumber]])

Выбирает запись из возвращенных запросом для того, чтобы ее данные можно было получить функцией ovrimos_resu"lt(). Возвращает TRUE или FALSE - при ошибке.

<?рhр Sconn = ovrimos_connect
("remote.host". "8001". "admin", "password");
if (Sconn !- 0) { echo "Connection ok!";
$res=ovrimos_exec ($conn, "select t_id. t_name from tbl"):
if ($res != 0) { echo "Statement ok!":
if (ovnmos_fetch_row ($res. "First")) { $table_id = ovrimos_result ($res. 1): $table_name = ovrimos_resu1t ($res. 2): echo "t_id=" $table_id.".
t_name=".$table_name."\n"; if
(ovrimos_fetch_row ($res. "Next")) {
$table_id = ovnmos_result ($res. "t_id"):
$t_name = ovrimos_result ($res. "t_name");
echo "t_id=" Stable_id ". t_name=" Stjname "\n";
} else { echo "Next errorXn": } } else {
echo "First- error\n". }
ovnmos_free_result ($res); } ovnmos_close
(Sconn);

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
("db_host". "8001". "admin", "password");
if (Sconn != 0) { echo "Connection ok!";
$res = ovrimos_prepare
(Sconn. "SELECT tablejid. table_name
FROM sys.tables WHERE tablejd = 7");
if (Sres != 0) { echo "Prepare ok!";
if (ovnmos_execute (ires. array(3))J {
ovrimos_result_all (Sres); } else {
erho "Fxecute not ok!": }
ovnmos_free_result (Srts); } else {
echo "Prepare not ok!\n". } ovnmos_close
(Sconn): } ?>

Далее приводится расширенная версия приведенного выше сценария, выводящая метаинформацию.

Example 2. Ovnmos_result_all with meta-information
<?php Sconn - ovrimos_connect
("db_host". "8001". "admin", "password"):
if (Sconn '= 0) { echo "Connection ok.1".
$reb ^ ovnmos_exec (Sconn.
"select table_id. tablejiame from
sys.tables where tabloid = 1") if (Sres != 0) { ,
echo "Statement ok! cu>-sor="
ovrimos_cursor (Sres) "\p"; f
Scolnb = ovnmos_num_fields (Sres):
echo "Полей = " .Scolnb."\n". [
for ($1=1: Si<=$colnb: $i++) {
Sname = ovrimos_field_name (Sres. Si);
Stype = ovnmos_field_type (Sres. Si).
Slen = ovrimos_field_len (Sres. Si):
echo "Поле Si Имя: Sname
Тип: Stype разиер=" $!РП."\П"; }
ovnmos_result_all (Sres).
ovrimos_free_result (Sres): } ovrimos_close (Sconn). } ?>

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)

Учебник по основам PHP   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉