cubrid_execute
(PECL CUBRID >= 8.3.0)
cubrid_execute — Execute a prepared SQL statement
説明
The cubrid_execute() function is used to execute the
given SQL statement. It executes the query by using
conn_identifier
and SQL, and then returns the
request identifier created. It is used for simple execution of query,
where the parameter binding is not needed. In addition, the
cubrid_execute() function is used to execute the
prepared statement by means of cubrid_prepare() and
cubrid_bind(). At this time, you need to specify
arguments of request_identifier
and
option
.
The option
is used to determine whether to get OID
after query execution and whether to execute the query in synchronous or
asynchronous mode. CUBRID_INCLUDE_OID
and CUBRID_ASYNC
(or
CUBRID_EXEC_QUERY_ALL
if you want to execute multiple SQL statements) can
be specified by using a bitwise OR operator. If not specified, neither of
them isselected. If the flag CUBRID_EXEC_QUERY_ALL
is set, a synchronous
mode (sync_mode) is used to retrieve query results, and in such cases the
following rules are applied:
- The return value is the result of the first query.
- If an error occurs in any query, the execution is processed as a failure.
- In a query composed of q1 q2 q3, if an error occurs in q2 after q1 succeeds the execution, the result of q1 remains valid. That is, the previous successful query executions are not rolled back when an error occurs.
- If a query is executed successfully, the result of the second query can be obtained using cubrid_next_result().
If the first argument is request_identifier
to
execute the cubrid_prepare() function, you can specify
an option, CUBRID_ASYNC
only.
パラメータ
conn_identifier
Connection identifier.
sql
SQL to be executed.
option
Query execution option
CUBRID_INCLUDE_OID
,CUBRID_ASYNC
,CUBRID_EXEC_QUERY_ALL
.request_identifier
cubrid_prepare() identifier.
戻り値
Request identifier, when process is successful and first param is
conn_identifier; true
, when process is successful and first argument is
request_identifier,失敗した場合に false
を返します.
変更履歴
バージョン | 説明 |
---|---|
8.4.0 |
Add new option CUBRID_EXEC_QUERY_ALL .
|
例
例1 cubrid_execute() example
<?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() - Prepare a SQL statement for execution
- cubrid_bind() - Bind variables to a prepared statement as parameters
- cubrid_next_result() - Get result of next query when executing multiple SQL statements
- cubrid_close_request() - Close the request handle
- cubrid_commit() - Commit a transaction
- cubrid_rollback() - Roll back a transaction