ingres_unbuffered_query
(No version information available, might only be in SVN)
ingres_unbuffered_query — Envoie une requête sans buffer à Ingres
Description
$link
, string $query
[, array $params
[, string $types
]] )
ingres_unbuffered_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. Ingres permet une seule requête sans buffer active à un moment donné. L'extension va fermer toute requête active avant d'exécuter une nouvelle requête SQL. De plus, vous ne pouvez pas utiliser ingres_result_seek() pour vous positionner à la ligne que vous souhaitez dans le résultat.
Note: Configurations associées
Voyez aussi les directives ingres.describe et ingres.utf8 dans les directives d'exécution.
Liste de paramètres
-
link
-
La ressource de connexion à Ingres
-
query
-
Une requête SQL valide (voyez le SQL reference guide) pour le serveur Ingres. Voyez la documentation du paramètre query la fonction ingres-query() pour une liste de requêtes SQL qui ne peuvent pas être exécutées via la fonction ingres_unbuffered_query().
Les données contenues dans la requête doivent être proprement échappées.
-
params
-
Un tableau de valeurs de paramètre à utiliser avec la requête
-
types
-
Une chaîne contenant une séquence de types pour les paramètres fournis à la requête. Voyez la documentation de la fonction ingres-query() pour obtenir la liste des types.
Valeurs de retour
ingres_unbuffered_query() retourne une ressource
de résultats lorsqu'il y a des lignes à lire, et sinon, elle retourne
FALSE
s'il n'y a pas de lignes à lire, comme pour les requêtes
INSERT, UPDATE et DELETE. Pour savoir s'il y a eu une erreur, utilisez
l'une des fonctions ingres_errno(),
ingres_error() ou
ingres_errsqlstate().
Exemples
Exemple #1 Exécution d'une requête SQL sans buffer sur Ingres
<?php $link = ingres_connect("demodb"); $result = ingres_unbuffered_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êtes à ingres_unbuffered_query()
<?php $link = ingres_connect("demodb"); $params[] = "Emma"; $query = "select * from user_profile where up_first = ?"; $result = ingres_unbuffered_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êtes SQL Ingres
<?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 parametres $params[] = $blob_data; $params[] = 1201; //Définition des types de paramètres $param_types = "Bi"; $query = "update user_profile set up_image = ? where up_id = ?"; $result = ingres_unbuffered_query($link, $query , $params, $param_types); if (ingres_errno()) { echo ingres_errno() . " : " . ingres_error() . "\n"; } ?>
Voir aussi
- ingres_query() - Envoie une requête SQL à Ingres
- ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
- ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
- ingres_fetch_object() - Récupère une ligne de résultat dans un objet
- ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré
- ingres_commit() - Valide une transaction
- ingres_rollback() - Annule une transaction Ingres
- ingres_autocommit() - Active ou désactive le mode autocommit
- ingres_set_environment() - Configure les directives contrôlant les résultats Ingres
- ingres_errno() - Récupère le dernier numéro d'erreur d'Ingres généré
- ingres_error() - Lit le dernier message d'erreur Ingres