ingres_query
  Send an SQL query to Ingres
  
 
 
  Description
  
   mixed ingres_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_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.
  
  Note: 
   Related Configurations
   
    See also the ingres.describe,
    ingres.scrollable 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.
       
       Data inside the query should be properly escaped.
       
       The following types of SQL queries cannot be sent with this function:
        
        - 
         
          close (see ingres_close)
         
        
- 
         
          commit (see ingres_commit)
         
        
- 
         
          connect (see ingres_connect)
         
        
- 
         
          disconnect (see ingres_close)
         
        
- 
         get dbevent
        
- 
         prepare to commit
        
- 
         
          rollback (see ingres_rollback)
         
        
- savepoint
- 
         
          set autocommit (see ingres_autocommit)
         
        
- 
         all cursor-related queries are unsupported
        
 
- 
     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. When ingres.describe
       is enabled, this parameter can be ignored as the driver automatically
       fetches the expected parameter types from the server.
       
 
 
  Return Values
  
   ingres_query returns a query result identifier on
   success else it returns FALSE. To see if an error
   occurred use ingres_errno, 
   ingres_error or 
   ingres_errsqlstate.
  
  
 
  Examples
  
   
    Example #1 Send a simple select
    
<?php
$link = ingres_connect("demodb");
$result = ingres_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_query
    
<?php
$link = ingres_connect("demodb");
$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_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_query($link, $query , $params, $param_types);
if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}
ingres_commit($link);
ingres_close($link);
?>
     
    
  
  
 
  See Also
  
   
    - ingres_unbuffered_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