ifx_prepare
ifx_textasvarchar
Informix Functions
PHP Manual

# ifx_query

(PHP 4, PHP <=5.2.0)

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(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);
?>`

### Ver también

- ifx_connect() - Abrir una conexión con un servidor Informix

ifx_prepare
ifx_textasvarchar
Informix Functions
PHP Manual