Enviar una consulta CUBRID

# cubrid_query

(PECL CUBRID >= 8.3.1)

cubrid_query — Enviar una consulta CUBRID

### Descripción

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

cubrid_query() envía una consulta única (no están soportadas consultas múltiples) a la base de datos activa actual en el servidor que está asociado con el `conn_identifier` especificado.

### Parámetros

`query`
  Una consulta SQL La información dentro de la consulta debería estar adecuadamente escapada.
`conn_identifier`
  La conexión CUBRID. Si el identificador de conexión no se especifica, se asume la última conexión abierta por cubrid_connect().

### Valores devueltos

Para SELECT, SHOW, DESCRIBE, EXPLAIN y otras sentencias que devuelven conjuntos de resultadosa, cubrid_query() devuelve un resource en caso de éxito, o `false` en caso de error.

Para otros tipos de sentencias SQL, INSERT, UPDATE, DELETE, DROP, etc, cubrid_query() devuelve `true` en caso de éxito o `false` en caso de error.

El recurso resultado devuelto debería ser pasado a cubrid_fetch_array(), y a otras funciones para tratar con las tablas de resultados, para acceder a la información devuelta.

Use cubrid_num_rows() para averiguar cuántas filas fueron devueltas por una sentencia SELECT o cubrid_affected_rows() para averiguar cuántas filas fueron afectadas por una sentencia DELETE, INSERT, REPLACE, o UPDATE.

cubrid_query() también podrá fallar y devolver `false` si el usuario no tiene permiso para acceder a la/s tabla/s referenciada/s por la consulta.

### Ejemplos

Ejemplo #1 Consulta No Válida

La siguiente consulta no es válida sintácticamente, por lo que cubrid_query() fallará y devolverá `false`.

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

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

    ?>

Ejemplo #2 Consulta Válida

La siguiente consulta es válida, por lo que cubrid_query() devolverá un resource.

    <?php
    // Esto podría ser proporcionado por el usuario, por ejemplo
    $nombre = 'fred';
    $apellido  = 'fox';

    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')");
    // Formular la Consulta
    // Esta es la mejor manera de realizar una consulta SQL
    // Para más ejemplos, véase cubrid_real_escape_string()
    $consulta = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    cubrid_real_escape_string($nombre),
    cubrid_real_escape_string($apellido));

    // Realizar la Constulta
    $result = cubrid_query($consulta);

    // Verificar el resultado
    // Esto muestra la consulta real enviada a CUBRID, y el error. Útil para depuración.
    if (!$result) {
        $mensaje  = 'Consulta no válida: ' . cubrid_error() . "\n";
        $mensaje .= 'Consulta completa: ' . $consulta;
        die($mensaje);
    }

    // Usar el resultado
    // Intentar imprimir $result no permitirá el acceso a la información en el recurso
    // Se debe usar una de las funciones de resultados de cubrid
    // Véase también cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
    while ($fila = cubrid_fetch_assoc($result)) {
        echo $fila['firstname'];
        echo $fila['lastname'];
        echo $fila['address'];
        echo $fila['age'];
    }

    // Liberar los recursos asociados con el conjunto de resultados
    // Esto se hace automáticamente al final del script
    cubrid_free_result($result);
    ?>

### Ver también

- cubrid_connect() - Abrir una conexión al servidor CUBRID
- cubrid_error() - Se usa para obtener el mensaje de error
- cubrid_real_escape_string() - Escapar caracteres especiales en una cadena para usarla en una sentencia SQL
- cubrid_result() - Devuelve el valor de un campo específico de una fila específica
- cubrid_fetch_assoc() - Devuelve un array asociativo correspondiente a la fila recuperada
- cubrid_unbuffered_query() - Realiza una consulta sin traer los resultados a memoria

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