ingres_unbuffered_query - Send an unbuffered SQL query to Ingres

mixed ingres_unbuffered_query (resource $link, string $query, [array $params], [string $types])
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.
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.
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).
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() . " "; } ?>
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)

Featured Tech Videos