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