Returns: A positive Informix result identifier on
success, or FALSE on
error.
A "result_id" resource used by other functions to
retrieve the query results. Sets "affected_rows" for
retrieval by the ifx_affected_rows() function.
ifx_query() sends a query to the
currently active database on the server that's associated
with the specified link identifier.
Executes query on
connection conn_id. For
"select-type" queries a cursor is declared and opened. The
optional cursor_type
parameter allows you to make this a "scroll" and/or "hold"
cursor. It's a bitmask and can be either IFX_SCROLL,
IFX_HOLD, or both or'ed together. Non-select queries are
"execute immediate". IFX_SCROLL and IFX_HOLD are symbolic
constants and as such shouldn't be between quotes. I you omit
this parameter the cursor is a normal sequential cursor.
For either query type the number of (estimated or real)
affected rows is saved for retrieval by
ifx_affected_rows().
If you have BLOB (BYTE or TEXT) columns in an update
query, you can add a
blobidarray parameter containing the corresponding
"blob ids", and you should replace those columns with a "?"
in the query text.
If the contents of the TEXT (or BYTE) column allow it,
you can also use "ifx_textasvarchar(1)" and
"ifx_byteasvarchar(1)". This allows you to treat TEXT (or
BYTE) columns just as if they were ordinary (but long)
VARCHAR columns for select queries, and you don't need to
bother with blob id's.
With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the
default situation), select queries will return BLOB columns
as blob id's (integer value). You can get the value of the
blob as a string or file with the blob functions (see
below).
See also: ifx_connect().
|