ingres_query
(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)
ingres_query — Envoie une requ�te SQL � Ingres
Description
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 :
- close (voyez ingres_close())
- commit (voyez ingres_commit())
- connect (voyez ingres_connect())
- disconnect (voyez ingres_close())
- get dbevent
- prepare to commit
- rollback (voyez ingres_rollback())
- savepoint
- set autocommit (voyez ingres_autocommit())
- toutes les requ�tes li�es aux curseurs ne sont pas support�es
- 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
- ingres_unbuffered_query() - Envoie une requ�te sans buffer � Ingres
- ingres_fetch_array() - R�cup�re une ligne de r�sultat Ingres dans un tableau
- 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