Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 | 



cubrid_execute

Description

The cubrid_execute function executes a given SQL statement. It executes a query by using conn_identifier and SQL and then returns the request identifier created. This is an appropriate way to simply execute a query when parameter binding is not necessary.

This function is also used when executing Prepared Statement with cubrid_prepare and cubrid_bind. In this case, required parameters are req_identifier and option.

The option parameter 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 is selected.

If the flag CUBRID_EXEC_QUERY_ALL is set, a synchronous mode (sync_mode) is used to retrieve query results and in such case 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.
  • For a query composed of 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 req_identifier is the first argument for the execution of cubrid_prepare(), only CUBRID_ASYNC or CUBRID_EXEC_QUERY_ALL can be used as an option.

Syntax

resource cubrid_execute (resource $conn_identifier, string $SQL [, int $option])

  • conn_identifier : Connection identifier
  • SQL : SQL statement to be executed
  • option : Query execution option - CUBRID_INCLUDE_OID, CUBRID_ASYNC, CUBRID_EXEC_QUERY_ALL

bool cubrid_execute (resource &req_identifier[, int $option])

  • req_identifier : request identifier
  • option : Query execution option - CUBBRID_ASYNC, CUBRID_EXEC_QUERY_ALL
Return Value
  • Success
    • Request identifier : When process is successful and first parameter is conn_identifier
    • TRUE : When process is successful and first argument is req_identifier
  • Failure : FALSE
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 ", "athlete", "host_year", "score", "unit");

while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {

    printf("%-20s %-9s %-10s %-5s ",

        $row["athlete"], $row["host_year"], $row["score"], $row["unit"]);

}

 

cubrid_close_request($history_req);

 

cubrid_disconnect($conn);

?>

 

The above example will output:

 

athlete         host_year score         unit

Phelps Michael  2004      51.25         time

See Also