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)
;
|
|