INGRES_UNBUFFERED_QUERY(3) 1 INGRES_UNBUFFERED_QUERY(3)
ingres_unbuffered_query - Send an unbuffered SQL query to Ingres
SYNOPSIS
mixed ingres_unbuffered_query (resource $link, string $query, [array $params], [string $types])
DESCRIPTION
ingres_unbuffered_query(3) sends the given $query to the Ingres server.
The query becomes part of the currently open transaction. If there is no open transaction, ingres_unbuffered_query(3) opens a new transac-
tion. To close the transaction, you can call either ingres_commit(3) to commit the changes made to the database or ingres_rollback(3) to
cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback(3)). You can also use
ingres_autocommit(3) before opening a new transaction to have every SQL query immediately committed. Ingres allows only a single unbuffered
statement to be active at any one time. The extension will close any active unbuffered statements before executing any SQL. In addition you
cannot use ingres_result_seek(3) to position the row before fetching.
Note
Related Configurations
See also the ingres.describe and ingres.utf8 directives in Runtime Configuration.
PARAMETERS
o $link
- The connection link identifier
o $query
- A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation. See the query parameter in ingres_query(3)
for a list of SQL statements that cannot be executed via ingres_unbuffered_query(3). Data inside the query should be properly
escaped.
o $params
- An array of parameter values to be used with the query
o $types
- A string containing a sequence of types for the parameter values passed. See the types parameter in ingres_query(3) for the list
of type codes.
RETURN VALUES
ingres_unbuffered_query(3) returns a query result identifier when there are rows to fetch; else it returns FALSE when there are no rows, as
is the case of an INSERT, UPDATE, or DELETE statement. To see if an error occurred, use ingres_errno(3), ingres_error(3), or ingres_errsql-
state(3).
EXAMPLES
Example #1
Issue a simple un-buffered select
<?php
$link = ingres_connect("demodb");
$result = ingres_unbuffered_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
echo $row[1];
echo $row[2];
}
?>
Example #2
Passing query parameters to ingres_unbuffered_query(3)
<?php
$link = ingres_connect("demodb");
$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_unbuffered_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
echo $row[1];
echo $row[2];
}
?>
Example #3
Inserting a BLOB with parameter types
<?php
$link = ingres_connect("demodb");
//Open a photo
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);
//Prepare parameters
$params[] = $blob_data;
$params[] = 1201;
//Define parameter types
$param_types = "Bi";
$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_unbuffered_query($link, $query , $params, $param_types);
if (ingres_errno())
{
echo ingres_errno() . "-" . ingres_error() . "
";
}
?>
SEE ALSO
ingres_query(3), ingres_fetch_array(3), ingres_fetch_assoc(3), ingres_fetch_object(3), ingres_fetch_row(3), ingres_commit(3), ingres_roll-
back(3), ingres_autocommit(3), ingres_set_environment(3), ingres_errno(3), ingres_error(3).
PHP Documentation Group INGRES_UNBUFFERED_QUERY(3)