cubrid_execute

(PECL CUBRID >= 8.3.0)

cubrid_executeВыполняет подготовленный SQL-оператор

Описание

cubrid_execute(resource $conn_identifier, string $sql, int $option = 0): resource
cubrid_execute(resource $request_identifier, int $option = 0): bool

Функция cubrid_execute() используется для выполнения данного SQL-оператора. Она выполняет запрос, используя conn_identifier и SQL, а затем возвращает созданный идентификатор запроса. Функция используется для простого выполнения запроса, когда привязка параметров не требуется. Кроме того, функция cubrid_execute() используется для выполнения подготовленного оператора с помощью cubrid_prepare() и cubrid_bind(). В это время вам необходимо указать аргументы request_identifier и option.

Параметр option используется для определения, следует ли получать OID после выполнения запроса и следует ли выполнять запрос в синхронном или асинхронном режиме. Константа CUBRID_INCLUDE_OID и CUBRID_ASYNC (или CUBRID_EXEC_QUERY_ALL, если необходимо выполнить несколько SQL-операторов) можно указать с помощью побитового оператора ИЛИ. Если не указано, ни один из них не выбран. Если установлен флаг CUBRID_EXEC_QUERY_ALL, для получения результатов запроса используется синхронный режим (sync_mode) и в таких случаях применяются следующие правила:

  • Возвращаемое значение - результат первого запроса.
  • Если в каком-либо запросе возникает ошибка, выполнение обрабатывается как сбой.
  • В запросе, состоящем из q1 q2 q3, если ошибка возникает в q2 после успешного выполнения q1, результат q1 остаётся действительным. То есть предыдущее успешное выполнение запроса не откатывается в случае возникновения ошибки.
  • В случае успешного выполнения запроса, результат второго запроса можно получить с помощью cubrid_next_result().

Если первым аргументом является request_identifier для выполнения функции cubrid_prepare() можно указать только CUBRID_ASYNC.

Список параметров

conn_identifier

Идентификатор соединения.

sql

SQL для выполнения.

option

Вариант выполнения запроса: CUBRID_INCLUDE_OID, CUBRID_ASYNC, CUBRID_EXEC_QUERY_ALL.

request_identifier

Идентификатор cubrid_prepare().

Возвращаемые значения

Идентификатор запроса в случае успешного выполнения запроса и если первым параметром является conn_identifier; true, в случае успешного выполнения запроса и первым аргументом request_identifier или false, если возникла ошибка.

Список изменений

Версия Описание
8.4.0 Добавлен новый параметр CUBRID_EXEC_QUERY_ALL.

Примеры

Пример #1 Пример использования cubrid_execute()

<?php
$conn
= cubrid_connect("localhost", 33000, "demodb");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);

printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while (
$row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
printf("%-20s %-9s %-10s %-5s\n",
$row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}

cubrid_close_request($history_req);

cubrid_disconnect($conn);
?>

Результат выполнения приведённого примера:

athlete              host_year score      unit
Phelps Michael       2004      51.25      time

Смотрите также

  • cubrid_prepare() - Подготавливает SQL-выражение к выполнению
  • cubrid_bind() - Связывает переменные с подготовленным запросом
  • cubrid_next_result() - Получает результат следующего запроса при выполнении нескольких SQL-операторов
  • cubrid_close_request() - Закрывает обработчик запроса
  • cubrid_commit() - Подтверждение транзакции
  • cubrid_rollback() - Откат транзакции

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top