Fonctions Ingres
PHP Manual

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


Fonctions Ingres
PHP Manual