(PECL CUBRID >= 8.3.0)
cubrid_execute — Выполняет подготовленный SQL-оператор
Функция 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) и в таких случаях применяются следующие правила:
Если первым аргументом является 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