cubrid_execute

(PECL CUBRID >= 8.3.0)

cubrid_executeExecuta uma instrução preparada SQL

Descrição

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

A função cubrid_execute() é usada para executar a instrução SQL fornecida. Ela executa a consulta usando conn_identifier e a instrução SQL, e então retorna o identificador de requisição criado. É usada para execução simples de consulta, onde a vinculação de parâmetros não é necessária. Além disso, a função cubrid_execute() é usada para executar a instrução preparada por meio de cubrid_prepare() e cubrid_bind(). Neste momento, é necessário especificar argumentos de request_identifier e option.

O parâmetro option é usado para determinar se o OID deve ser obtido após a execução da consulta e se a consulta deve ser executada em modo síncrono ou assíncrono. CUBRID_INCLUDE_OID e CUBRID_ASYNC (ou CUBRID_EXEC_QUERY_ALL se a intenção for executar múltiplas instruções SQL) podem ser especificadas usando um operador OR bit a bit. Se não for especificado, nenhuma delas será selecionada. Se a opção CUBRID_EXEC_QUERY_ALL estiver definida, um modo síncrono (sync_mode) será usado para recuperar os resultados da consulta e, nesses casos, as seguintes regras serão aplicadas:

  • O valor de retorno é o resultado da primeira consulta.
  • Se ocorrer um erro em alguma consulta, a execução será processada como uma falha.
  • Em uma consulta composta por q1 q2 q3, se ocorrer um erro em q2 após q1 ter sucesso na execução, o resultado de q1 permanecerá válido. Ou seja, as execuções de consulta anteriores bem-sucedidas não são revertidas quando ocorre um erro.
  • Se uma consulta for executada com sucesso, o resultado da segunda consulta pode ser obtido usando cubrid_next_result().

Se o primeiro argumento for request_identifier para executar a função cubrid_prepare(), pode-se especificar uma opção, apenas CUBRID_ASYNC.

Parâmetros

conn_identifier

Identificador da conexão.

sql

Instrução SQL a ser executada.

option

Opção de execução da consulta: CUBRID_INCLUDE_OID, CUBRID_ASYNC ou CUBRID_EXEC_QUERY_ALL.

request_identifier

Identificador de cubrid_prepare().

Valor Retornado

Identificador da requisição, em caso de sucesso e quando o primeiro parâmetro for conn_identifier; true, em caso de sucesso e quando o primeiro parâmetro for request_identifier, ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.4.0 Adicionada a nova opção CUBRID_EXEC_QUERY_ALL.

Exemplos

Example #1 Exemplo de 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", "Atleta", "Ano", "Pontos", "Unidade");
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);
?>

O exemplo acima produzirá:

Atleta               Ano       Pontos     Unidade
Phelps Michael       2004      51.25      time

Veja Também