ingres_unbuffered_query

(No version information available, might only be in Git)

ingres_unbuffered_queryEnvía una consulta SQL no almacenada en búfer a Ingres

Descripción

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

ingres_unbuffered_query() sends the given query to the Ingres server.

La consulta es parte de la transacción abierta actualmente. Si no hay ninguna transacción abierta, ingres_unbuffered_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. Igres solamente permite la activación de una sentencia almacenada en búfer. La extensión cerrará cualquier sentencia no almacenada en búfer activa antes de ejecuatar una sentencia SQL. Además, no se puede usar ingres_result_seek() para posicionar la fila antes de la obtención.

Nota: Configuraciones relacionadas

Véanse tambén las directivas ingres.describe y ingres.utf8 en 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 en la documentación de Ingres). Véase el parámetor query de ingres_query() para una lista de las sentencias SQL que no se pueden ejecutar mediante ingres_unbuffered_query().

Los datos dentro de la consulta deberían estar apropiadamente escapados.

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. Véaes el parámetro types de ingres_query() para una lista de los códigos de los tipos.

Valores devueltos

ingres_unbuffered_query() devuelve un identificador de resultados de consulta cuando hay más filas que obtener, o FALSE cuando no hay más filas, como en el case de las sentencias sentencia INSERT, UPDATE o DELETE. Para comprobar si ocurrió un error, use ingres_errno(), ingres_error() o ingres_errsqlstate().

Ejemplos

Ejemplo #1 Ejecutar un SELECT sencillo no almacenado en búfer

<?php
$enlace 
ingres_connect("demodb");

$resultado ingres_unbuffered_query($enlace"select * from user_profile");
while (
$fila ingres_fetch_row($resultado)) {
    echo 
$fila[1];
    echo 
$fila[2];
}
?>

Ejemplo #2 Passing query parameters to ingres_unbuffered_query()

<?php
$enlace 
ingres_connect("demodb");

$params[] = "Emma";
$query "select * from user_profile where up_first = ?";
$resultado ingres_unbuffered_query($enlace$query$params);
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_unbuffered_query($enlace$consulta $parámetros$tipos_parámetros);

if (
ingres_errno())
{
    echo 
ingres_errno() . "-" ingres_error() . "\n";
}
?>

Ver también