ingres_unbuffered_query
  Send an unbuffered  SQL query to Ingres
  
 
 
  Description
  
   mixed ingres_unbuffered_query
    ( resource $link
   , string $query
   [, array $params
   [, string $types
  ]] )
  
  
   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
- ingres_fetch_array
- ingres_fetch_assoc
- ingres_fetch_object
- ingres_fetch_row
- ingres_commit
- ingres_rollback
- ingres_autocommit
- ingres_set_environment
- ingres_errno
- ingres_error