ingres_unbuffered_query
(No version information available, might only be in Git)
ingres_unbuffered_query — Send an unbuffered SQL query to Ingres
Description
$link
, string $query
[, array $params
[, string $types
]] ) : mixed
ingres_unbuffered_query() 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() opens a new transaction. To close the transaction, you can call either ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() 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() to position the row before fetching.
Note: Related Configurations
See also the ingres.describe and ingres.utf8 directives in Runtime Configuration.
Parameters
-
link
-
The connection link identifier
-
query
-
A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation. See the query parameter in ingres_query() for a list of SQL statements that cannot be executed via ingres_unbuffered_query().
Data inside the query should be properly escaped.
-
params
-
An array of parameter values to be used with the query
-
types
-
A string containing a sequence of types for the parameter values passed. See the types parameter in ingres_query() for the list of type codes.
Return Values
ingres_unbuffered_query() 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(),
ingres_error(), or
ingres_errsqlstate().
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()
<?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() . "\n";
}
?>
See Also
- ingres_query() - Send an SQL query to Ingres
- ingres_fetch_array() - Fetch a row of result into an array
- ingres_fetch_assoc() - Fetch a row of result into an associative array
- ingres_fetch_object() - Fetch a row of result into an object
- ingres_fetch_row() - Fetch a row of result into an enumerated array
- ingres_commit() - Commit a transaction
- ingres_rollback() - Roll back a transaction
- ingres_autocommit() - Switch autocommit on or off
- ingres_set_environment() - Set environment features controlling output options
- ingres_errno() - Get the last Ingres error number generated
- ingres_error() - Get a meaningful error message for the last error generated
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 30/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/php-rf-ingres-unbuffered-query.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.