# odbc_execute

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

odbc_execute — Exécute une requête SQL préparée

### Description

odbc_execute(Odbc\Result `$statement`, array `$params` = []): bool

Exécute une requête SQL préparée par odbc_prepare().

### Liste de paramètres

`statement`

  L’objet de résultat ODBC depuis odbc_prepare().

`params`

  Les valeurs du paramètre `params` seront substituées dans les variables de requêtes de la requête préparée. Les éléments de ce tableau seront convertis en chaînes de caractères en appelant cette fonction.

  Tout paramètre de `params` qui commence et termine par des guillemets simples sera considéré comme un nom de fichier à lire et envoyé à la base de données, avec la variable de requête appropriée.

  Si vous voulez stocker une chaîne de caractères qui commence et se finit réellement par des guillemets, vous devez ajouter un espace au début ou à la fin de la chaîne, pour éviter que ce paramètre soit confondu avec un nom de fichier. Si ce n'est pas possible dans le cadre de votre application, vous devrez passer par la fonction odbc_exec().

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.4.0 | Cette fonction retourne désormais une instance de Odbc\Result; auparavant, un resource était retourné.
8.0.0 | Le paramètre `flags`, inutilisé, a été supprimé.

### Exemples

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

Dans le script suivant, $success ne sera possible que si les trois paramètres de `maproc` sont des paramètres de type IN :

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

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

### Voir aussi

- odbc_prepare() - Prépare une commande pour l'exécution