ingres_query

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_querySend an SQL query to Ingres

Описание

mixed ingres_query ( resource $link , string $query [, array $params [, string $types ]] )

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.

Замечание: Related Configurations

See also the ingres.describe, ingres.scrollable and ingres.utf8 directives in Runtime Configuration

Список параметров

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:

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.

Type code Ingres type
a BOOLEAN
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().

Примеры

Пример #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];
}
?>

Пример #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];
}
?>

Пример #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);
?>

Смотрите также

Коментарии

If you reuse a query result variable, you should free that variable to close off the previous query before running a second.

I.E.

$rc = ingres_query($conn, ...
// do stuff
unset($rc);
2011-06-03 14:38:28
http://php5.kiev.ua/manual/ru/function.ingres-query.html

    Поддержать сайт на родительском проекте КГБ