Descripción
int
ifx_query ( string query [, int link_identifier [, int cursor_type [, mixed blobidarray]]])
Devuelve un identificador positivo de resultado si tuvo éxito, FALSE en
otro caso_
Un entero (integer) "result_id" usado por otras funciones para obtener el resultado
de la consulta_ Es definido "affected_rows" (registros procesados) y se puede obtener
mediante 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á representada por el identificador de
enlace especificado (link_identifier)_ Si el identificador no es definido, el último
enlace abierto es asumido_ Si el enlace no se encuentra abierto,
ifx_connect() es llamado y utilizado_
Ejecuta una consulta (query) sobre una conexión
(link_identifier)_ Un cursor es definido y abierto
para las consultas de selección_ El parámetro opcional tipo de cursor
(cursor_type) te permite que sea un cursor de tipo
"scroll" y/o "hold"_ Es una máscara y puede ser IFX_SCROLL, IFX_HOLD o ambos_
Las consultas que no son de selección son ejecutadas inmediatamente_
Para cualquier tipo de consulta el número (estimado o real) de registros procesados
es guardo y se puede obtener mediante ifx_affected_rows()_
Si tienes columnas BLOB (BYTE o TEXT) en una consulta de actualización, puedes
añadir un parámetro blobidarray conteniendo los
identificadores de blob y sustituir los valores de esas columnas por una "?"
en el texto de la consulta_
Si el contenido de la columna de tipo TEXT (o BYTE) lo permite, también puedes
usar "ifx_textasvarchar(1)" y "ifx_byteasvarchar(1)"_ Esto supone manejar
columnas de tipo TEXT (o BYTE) como si fueran columnas normales de tipo VARCHAR
(pero teniendo en cuenta que tendrán un mayor tamaño que el habitual), para
consultas de selección y no necesitas preocuparte por los identificadores de blob_
La opción por defecto ifx_textasvarchar(0) o ifx_byteasvarchar(0) devuelve
identificadores de blob (valores enteros) para las consultas de selección_ Puedes
obtener el contenido del blob como una cadena o un fichero con las funciones para
blob (ver más adelante)_
Examina también:
ifx_connect()_
Ejemplo 1_ Mostrar todos los registros de la tabla "orders" como una tabla html ifx_textasvarchar(1); // usa "modo texto" para blobs
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
printf("Can't select orders : %s\n<br>%s<br>\n", ifx_error());
ifx_errormsg();
die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id); |
|
Ejemplo 2_ Inserta valores en la tabla "catalog" // crea identificadores de blob para una columna de tipo byte y otra text
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "Byte column in memory");
// almacena los identificadores de blob en un array llamado blobid
$blobidarray[] = $textid;
$blobidarray[] = $byteid;
// lanza la consulta
$query = "insert into catalog (stock_num, manu_code, " _
"cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
___ error ___
}
// libera el resultado
ifx_free_result($res_id); |
|