Envia uma consulta CUBRID

# cubrid_query

(PECL CUBRID >= 8.3.1)

cubrid_query — Envia uma consulta CUBRID

### Descrição

function cubrid_query(string `$query`, resource `$conn_identifier` = ?): resource

cubrid_query() envia uma consulta única (consultas múltiplas não são suportadas) para o banco de dados atualmente ativo no servidor que está associado ao `conn_identifier` especificado.

### Parâmetros

`query`
  Uma consulta SQL Dados na consulta devem estar adequadamente escapados.
`conn_identifier`
  A conexão CUBRID. Se o identificador de conexão não for especificado, a última conexão aberta por cubrid_connect() será usada.

### Valor Retornado

Para SELECT, SHOW, DESCRIBE, EXPLAIN e outras instruções que retornam um conjunto de resultados, cubrid_query() retorna um resource em caso de sucesso ou `false` em caso de erro.

Para outros tipos de instruções SQL como INSERT, UPDATE, DELETE, DROP, etc., cubrid_query() retorna `true` em caso de sucesso ou `false` em caso de erro.

O recurso de resultado retornado deve ser passado para cubrid_fetch_array() e outras funções para lidar com tabelas de resultados, para acessar os dados retornados.

Use cubrid_num_rows() para descobrir quantas linhas foram retornadas para uma instrução SELECT ou cubrid_affected_rows() para descobrir quantas linhas foram afetadas por uma instrução DELETE, INSERT, REPLACE ou UPDATE.

cubrid_query() também falhará e retornará `false` se o usuário não tiver permissão para acessar as tabelas referenciadas pela consulta.

### Exemplos

Exemplo #1 Consulta Inválida

A consulta a seguir é sintaticamente inválida, portanto cubrid_query() falhará e retornará `false`.

    <?php
    $conn = cubrid_connect('localhost', 33000, 'demodb');

    $result = cubrid_query('SELECT * WHERE 1=1');
    if (!$result) {
        die('Consulta inválida: ' . cubrid_error());
    }

    ?>

Exemplo #2 Consulta Válida

A consulta a seguir é válida, portanto cubrid_query() retornará um resource.

    <?php
    // Isso pode ser fornecido por um usuário, por exemplo
    $firstname = 'fred';
    $lastname  = 'fox';

    $conn = cubrid_connect('localhost', 33000, 'demodb');

    cubrid_execute($conn,"DROP TABLE if exists friends");
    cubrid_execute($conn,"create table friends(firstname varchar,lastname varchar,address char(24),age int)");
    cubrid_execute($conn,"insert into friends values('fred','fox','home-1','20')");
    cubrid_execute($conn,"insert into friends values('blue','cat','home-2','21')");
    // Formula a consulta
    // Esta é a melhor maneira de realizar uma consulta SQL
    // Para mais exemplos, consulte cubrid_real_escape_string()
    $query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    cubrid_real_escape_string($firstname),
    cubrid_real_escape_string($lastname));

    // Executa a consulta
    $result = cubrid_query($query);

    // Verifica o resultado
    // Isso mostra a consulta real enviada ao CUBRID e o erro. Útil para depuração.
    if (!$result) {
        $message  = 'Consulta inválida: ' . cubrid_error() . "\n";
        $message .= 'Consulta completa: ' . $query;
        die($message);
    }

    // Usa o resultado
    // A tentativa de mostrar $result diretamente não permitirá acesso às informações do recurso
    // Uma das funções de resultado cubrid deve ser usada
    // Consulte também cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
    while ($row = cubrid_fetch_assoc($result)) {
        echo $row['firstname'];
        echo $row['lastname'];
        echo $row['address'];
        echo $row['age'];
    }

    // Libera os recursos associados ao conjunto de resultados
    // Isso é feito automaticamente no final do script
    cubrid_free_result($result);
    ?>

### Veja Também

- cubrid_connect() - Abre uma conexão a um servidor CUBRID
- cubrid_error() - Obtém a mensagem de erro
- cubrid_real_escape_string() - Escapa caracteres especiais em uma string para uso em uma instrução SQL
- cubrid_result() - Retorna o valor de um campo específico em uma linha específica
- cubrid_fetch_assoc() - Retorna o array associativo que corresponde à linha buscada
- cubrid_unbuffered_query() - Execute uma consulta sem buscar os resultados para a memória

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open