ingres_prepare
ingres_result_seek
Fonctions Ingres
PHP Manual

# 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

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 :

  - 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

ingres_prepare
ingres_result_seek
Fonctions Ingres
PHP Manual