(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)
ingres_query — Send an SQL query to Ingres
ingres_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_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
The connection link identifier.
A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation.
The following types of SQL queries cannot be sent with this function:
An array of parameter values to be used with the query
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.
| Type code | Ingres type | 
|---|---|
| b | BYTE | 
| B | LONG BYTE/BLOB | 
| c | CHAR | 
| d | DATE/ANSIDATE/TIMESTAMP/TIME | 
| f | FLOAT | 
| i | INTEGER | 
| L | LONG TEXT | 
| m | MONEY | 
| M | LONG NVARCHAR | 
| n | NCHAR | 
| N | NVARCHAR | 
| t | TEXT | 
| v | VARCHAR | 
| V | LONG VARCHAR | 
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().
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);
?>