ingres_query
(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)
ingres_query — Envía una consulta SQL a Ingres
Descripción
ingres_query() envía la consulta dada por
query al servidor Ingres.
La consulta es parte de la transacción abierta actualmente. Si no hay ninguna transacción abierta, ingres_query() abrirá una nueva. Para cerrar la transacción, se puede llamar tanto a ingres_commit() para consignar los cambios hechos a la base de datos, como a ingres_rollback() para cancelar dichos cambios. Cuando el script finaliza, cualquier transacción abierta será revertida (invocando a ingres_rollback()). También se puede usar ingres_autocommit() antes de abrir una nueva transacción para que cada consulta SQL sea consignada automáticamente.
Nota: Configuración relacionada
Véase también las directivas ingres.describe, ingres.scrollable y ingres.utf8 de la sección Configuración en tiempo de ejecución
Parámetros
-
link -
El identificador de enlace de la conexión
query-
Una consulta SQL válida (véase la guía de referencia de SQL de la documentación de Ingres).
Los datos dentro de la consulta deberían estar apropiadamente escapados.
Los siguientes tipos de consultas SQL no se pueden enviar con esta función:
- close (véase ingres_close())
- commit (véase ingres_commit())
- connect (véase ingres_connect())
- disconnect (véase ingres_close())
- get dbevent
- prepare to commit
- rollback (véase ingres_rollback())
- savepoint
- set autocommit (véase ingres_autocommit())
- todas las consultas relacionadas con cursores no están soportadas
-
params -
Un array de valores de parámetros para usarlos con la consulta
types-
Un string que contiene una secuencia de los tipos de los valores de los parámetros pasados. Cuando ingres.describe está habilitado, este parámetro se puede ignorar, ya que el controlador obtiene automáticamente los tipos esperados de los parámetros desde el servidor.
Código del tipo Tipo de Ingres a BOOLEAN b BYTE B LONG BYTE/BLOB c CHAR d DATE/ANSIDATE/TIMESTAMP/TIME f FLOAT i INTEGER L LONG TEXT m MONEY M LONG NVARCHAR n NCHAR N NVARCHAR t TEXT v VARCHAR V LONG VARCHAR
Valores devueltos
ingres_query() devuelve un identificador de resultados de consulta en
caso de éxito, o FALSE en caso de error. Para comprobar si ocurrió
un error, use ingres_errno(),
ingres_error() o
ingres_errsqlstate().
Ejemplos
Ejemplo #1 Enviar un simple select
<?php
$enlace = ingres_connect("demodb");
$resultado = ingres_query($enlace, "select * from user_profile");
while ($fila = ingres_fetch_row($resultado)) {
echo $fila[1];
echo $fila[2];
}
?>
Ejemplo #2 Pasar parámetros de consulta a ingres_query()
<?php
$enlace = ingres_connect("demodb");
$parámetros[] = "Emma";
$consulta = "select * from user_profile where up_first = ?";
$resultado = ingres_query($enlace, $consulta, $parámetros);
while ($fila = ingres_fetch_row($resultado)) {
echo $fila[1];
echo $fila[2];
}
?>
Ejemplo #3 Insertar datos BLOB con tipos de parámetros
<?php
$enlace = ingres_connect("demodb");
//Abrir una foto
$fh = fopen("photo.jpg","r");
$datos_blob = stream_get_contents($fh);
fclose($fh);
//Preparar los parámetros
$parámetros[] = $datos_blob;
$parámetros[] = 1201;
//Definir los tipos de parámetros
$tipos_parámetros = "Bi";
$consulta = "update user_profile set up_image = ? where up_id = ?";
$resultado = ingres_query($enlace, $consulta , $parámetros, $tipos_parámetros);
if (ingres_errno())
{
echo ingres_errno() . "-" . ingres_error() . "\n";
}
ingres_commit($enlace);
ingres_close($enlace);
?>
Ver también
- ingres_unbuffered_query() - Envía una consulta SQL no almacenada en búfer a Ingres
- ingres_fetch_array() - Obtiene una fila de resultados en un array
- ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
- ingres_fetch_object() - Obtiene una fila de resultados en un objeto
- ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado
- ingres_commit() - Consigna una trasacción
- ingres_rollback() - Revierte una transacción
- ingres_autocommit() - Activa o desactiva la autoconsigna
- ingres_set_environment() - Establece las características de entorno que controlan las opciones de salida
- ingres_errno() - Obtiene el número del último error generado de Ingres
- ingres_error() - Obtener un mensaje de error coherente del último error generado