(PECL ibm_db2 >= 1.0.0)
db2_prepare — Prépare une requête SQL à être exécutée
db2_prepare() crée une requête SQL préparée qui peut
inclure aucun ou plusieurs marqueurs (caractères ?)
représentant les paramètres d'entrée, sortie ou d'entrée/sortie. Il
est possible de passer des paramètres à la requête préparée en utilisant la
fonction db2_bind_param(), s'il n'y a que des entrées,
il est possible d'utiliser db2_execute().
Il y a trois principaux avantages d'utiliser les requêtes préparées dans l'application :
connectionstatementoptions
Retourne une variable ressource si la requête SQL était envoyée
correctement ou false si le serveur de base de données a
retourné une erreur. Il est possible de déterminer quelle erreur a été retournée
en appelant la fonction
db2_stmt_error() ou db2_stmt_errormsg().
Exemple #1 Préparation et exécution d'une requête SQL avec des marqueurs
L'exemple suivant prépare une requête INSERT qui accepte quatre marqueurs, ensuite itère sur le tableau contenant les valeurs d'entrées qui sera passé à la fonction db2_execute().
<?php
$animaux = array(
array(0, 'chat', 'Pook', 3.2),
array(1, 'chien', 'Peaches', 12.3),
array(2, 'cheval', 'Smarty', 350.0),
);
$insert = 'INSERT INTO animaux (id, race, nom, poids)
VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
foreach ($animaux as $animal) {
$result = db2_execute($stmt, $animal);
}
}
?>