(No version information available, might be only in CVS)
ifx_query — Enviar una consulta Informix
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).
La cadena de consulta.
El identificador de enlace.
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.
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.
Devuelve un identificador de resultado Informix válido en caso de éxito, o FALSE en caso de errores.
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(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);
?>