(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 ó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().