(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