# cubrid_query

(PECL CUBRID >= 8.3.1)

cubrid_query — Enviar una consulta CUBRID

### Descripción

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 vaeriguar 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('Invalid query: ' . 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 que se corresponde con la fila obtenida
- cubrid_unbuffered_query() - Realiza una consulta sin traer los resultados a memoria