ifx_query

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_query -- Enviar una consulta Informix

Descripción

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

Devuelve un identificador de resultado positivo si tuvo éxito, o FALSE si ocurrió un error.

Un recurso "id_resultado" es usado por otras funciones para obtener los resultados de la consulta. Define "filas_afectadas" para su consulta a través de la función ifx_affected_rows().

ifx_query() envía una consulta a la base de datos activa actualmente en el servidor, la cual está asociada con el identificador de enlace dado.

Ejecuta consulta sobre la conexión id_enlace. En el caso de consultas "tipo-select", un cursor es declarado y abierto. El parámetro opcional tipo_cursor le permite hacer que éste sea un cursor "scroll" o "hold". Es una máscara de bits y puede ser IFX_SCROLL, IFX_HOLD, o ambos unidos mediante la operación lógica OR. Las consultas que no son de selección son de "ejecución inmediata". IFX_SCROLL e IFX_HOLD son constantes simbólicas, y como tales no deben encontrarse entre comillas. Si omite este parámetro, el cursor será un cursor secuencial normal.

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

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

Si el contenido de la columna TEXT (o BYTE) lo permite, puede 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).

Ejemplo 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 &oacute;rdenes: %s\n<br />%s<br />\n", ifx_error());
    
ifx_errormsg();
    die;
}
ifx_htmltbl_result($id_res, "border=\"1\"");
ifx_free_result($id_res);
?>

Ejemplo 2. Insertar algunos valores en la tabla "catalogo"

<?php

// crear id's blob para una columna byte y text
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "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);
?>

Vea también ifx_connect().

Hosting by: hurra.com
Generated: 2007-01-26 18:00:59