(PECL CUBRID >= 8.3.1)
cubrid_query — Enviar una consulta CUBRID
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.
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().
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.
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);
?>