ingres_query

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_queryEnvía una consulta SQL a Ingres

Descripción

ingres_query ( resource $link , string $query [, array $params [, string $types ]] ) : mixed

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:

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