Forum und email

ifx_query

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

ifx_query — Enviar una consulta Informix

Descripción

resource ifx_query ( string $consulta , resource $id_enlace [, int $tipo_cursor [, mixed $matriz_id_blob ]] )

Envía una consulta a la base de datos actualmente activo en el servidor asociado con el identificador de enlace especificado.

Para consultas "tipo-select" un cursor es declarado y abierto. Las consulta no-select son de "ejecución inmediata".

Para cualquier tipo de consulta, el número (estimado o real) de filas afectadas es almacenado para su consulta mediante ifx_affected_rows().

Si el contenido de la columna TEXT (o BYTE) lo permite, es posible usar también ifx_textasvarchar(1) y ifx_byteasvarchar(1). Esto le permite tratar columnas TEXT (o BYTE) como si fueran columnas normales (pero largas) de tipo VARCHAR para consultas select, y no necesita complicarse con id's de blob.

Con ifx_textasvarchar(0) o ifx_byteasvarchar(0) (la situación predeterminada), las consultas select devolverán columnas BLOB como id's blob (valores enteros). Puede obtener el valor del blob como una cadena o archivo con las funciones blob (vea más adelante).

Lista de parámetros

consulta

La cadena de consulta.

id_enlace

El identificador de enlace.

tipo_cursor

Este parámetro opcional le permite hacer de éste un cursor scroll y/o hold. Es una máscara de bits y puede contener el valor IFX_SCROLL, IFX_HOLD, o ambos unidos con el operador lógico OR. Si este parámetro es omitido, el cursor es un cursor secuencial corriente.

matriz_id_blob

Si tiene columnas BLOB (BYTE o TEXT) en la consulta, puede agregar un parámetro matriz_id_blob que contenga los "ids blob" correspondientes, y debería reemplazar esas columnas con un "?" en el texto de la consulta.

Valores retornados

Devuelve un identificador de resultado Informix válido en caso de éxito, o FALSE en caso de errores.

Ejemplos

Example#1 Mostrar todas las filas de la tabla "ordenes" como una tabla HTML

<?php
ifx_textasvarchar
(1);      // usar "modo de texto" para blobs
$id_res ifx_query("select * from ordenes"$id_con);
if (! 
$id_res) {
    
printf("No se pueden seleccionar órdenes: %s\n<br />%s<br />\n"ifx_error(), ifx_errormsg());
    die;
}
ifx_htmltbl_result($id_res"border=\"1\"");
ifx_free_result($id_res);
?>

Example#2 Insertar algunos valores en la tabla "catalogo"

<?php

// crear id's blob para una columna byte y text
$textid ifx_create_blob(00"Text column in memory");
$byteid ifx_create_blob(10"Byte column in memory");

// almacenar id's blob en una matriz id_blob
$matriz_id_blob[] = $textid;
$matriz_id_blob[] = $byteid;

// ejecutar consulta
$consulta "insert into catalogo (num_bodega, cod_manu, " .
         
"descr_cat,imagen_cat) values(1,'HRO',?,?)";
$id_res ifx_query($consulta$id_con$matriz_id_blob);
if (! 
$id_res) {
    
/* ... error ... */
}

// liberar el id de resultado
ifx_free_result($id_res);
?>

Ver también