# odbc_prepare

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_prepare — Prépare une commande pour l'exécution

### Description

odbc_prepare(Odbc\Connection `$odbc`, string `$query`): Odbc\Result|false

Prépare une commande pour l'exécution. L’objet de résultat ODBC peut être utilisé plus tard pour exécuter la commande avec odbc_execute().

Quelques bases de données (comme IBM DB2, MS SQL Server et Oracle) supportent les procédures stockées qui acceptent les types de paramètres IN, INOUT et OUT comme définis dans les spécifications ODBC. Cependant, le driver unifié ODBC supporte actuellement uniquement le type de paramètres IN pour les procédures stockées.

### Liste de paramètres

`odbc`

  L'objet de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

`query`

  La requête à préparer.

### Valeurs de retour

Renvoie un objet de résultat ODBC si la commande SQL a été préparée avec succès. Retourne `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.4.0 | `odbc` attend désormais une instance de Odbc\Connection; auparavant, un resource était attendu.
8.4.0 | Cette fonction retourne désormais une instance de Odbc\Result; auparavant, un resource était retourné.

### Exemples

Exemple #1 Exemple avec odbc_prepare() et odbc_execute()

Dans le code suivant, $res ne sera valide uniquement si les trois paramètres pour `myproc` sont des paramètres IN :

`<?php
$a = 1;
$b = 2;
$c = 3;
$stmt = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$res = odbc_execute($stmt, array($a, $b, $c));
?>`

Si vous devez appeler une procédure stockée utilisant des paramètres INOUT ou OUT, il est recommandé d'utiliser l'extension native de votre base de données (par exemple oci8 pour Oracle).

### Voir aussi

- odbc_execute() - Exécute une requête SQL préparée