ingres_query

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

ingres_queryEnvoie une requ�te SQL � Ingres

Description

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

ingres_query() envoie la requ�te SQL query au serveur Ingres.

La requ�te fait alors partie de la transaction courante. S'il n'y a pas de transaction ouverte, ingres_query() en ouvre une nouvelle. Pour fermer la transaction, vous pouvez appeler soit ingres_commit() pour valider les modifications, ou bien ingres_rollback() pour les annuler. Lorsque le script s'ach�ve, toutes les transactions qui n'auront pas �t� valid�es, seront annul�es, en appelant ingres_rollback(). Vous pouvez aussi utiliser ingres_autocommit() avant d'ouvrir une nouvelle transaction pour forcer la validation imm�diate de toutes les requ�tes.

Note: Configurations reli�es
Voyez aussi les directives ingres.describe, ingres.scrollable ingres.utf8 dans les configurations d'ex�cutions

Liste de param�tres

link

La ressource de connexion � Ingres

query

Une requ�te SQL valide (voyez le SQL reference guide de la documentation Ingres).

Les requ�tes suivantes ne peuvent pas �tre envoy�es � l'aide de cette fonction :

params

Un tableau de valeurs de param�tres � utiliser avec la requ�te

types

Une cha�ne contenant une s�quence de types pour les param�tres fournis � la requ�te. Lorsque ingres.describe est activ�, ce param�tre peut �tre ignor� car le pilote va lire automatiquement la valeur de ce param�tre aupr�s du serveur.

Code de type Type Ingres
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

Valeurs de retour

ingres_query() retourne une ressource de r�sultat en cas de succ�s, et sinon FALSE. Pour savoir si une erreur est survenue, utilisez ingres_errno(), ingres_error() ou ingres_errsqlstate().

Exemples

Exemple #1 Envoi d'une requ�te � Ingres

<?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];
}
?>

Exemple #2 Passage de param�tres de requ�te � 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];
}
?>

Exemple #3 Insertion d'un BLOB dans les param�tres de requ�te

<?php
$link 
ingres_connect("demodb");

//Ouverture d'une photo
$fh fopen("photo.jpg","r");
$blob_data stream_get_contents($fh);
fclose($fh);

//Pr�paration des param�tres
$params[] = $blob_data;
$params[] = 1201;

//D�finition des param�tres
$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);
?>

Voir aussi