db2_bind_param
(PECL ibm_db2 >= 1.0.0)
db2_bind_param — Associe une variable PHP à un paramètre d'une requête SQL
Description
$stmt
, int $parameter-number
, string $variable-name
[, int $parameter-type
[, int $data-type
= 0
[, int $precision
= -1
[, int $scale
= 0
]]]] )Associe une variable PHP à un paramètre dans la requête SQL retournée par db2_prepare(). Cette fonction vous donne plus de contrôle sur les types des paramètres, les types des données, la précision, et l'échelle pour le paramètre qu'en lui passant simplement une variable à l'intérieur du tableau d'entrée optionnel de la fonction db2_execute().
Liste de paramètres
-
stmt
-
Une requête préparée retournée par db2_prepare().
-
parameter-number
-
Spécifie la position du paramètre commençant à l'indice 1 dans la requête préparée.
-
variable-name
-
Une chaîne spécifiant le nom de la variable PHP à associer au paramètre spécifié par
parameter-number
. -
parameter-type
-
Une constante spécifiant si la variable PHP devrait être associé au paramètre SQL en tant que paramètre entrant (DB2_PARAM_IN), que paramètre sortant (DB2_PARAM_OUT) ou en tant que paramètre qui accepte les entrées et les sorties (DB2_PARAM_INOUT). Pour éviter une surconsommation de la mémoire, vous pouvez aussi spécifier DB2_PARAM_FILE pour attacher la variable PHP au nom du fichier qui contient les données de l'objet large (BLOB, CLOB ou DBCLOB).
-
data-type
-
Une constante spécifiant le type de données SQL que la variable PHP devrait être associée. Le paramètre doit prendre une des valeurs suivantes : DB2_BINARY, DB2_CHAR, DB2_DOUBLE ou DB2_LONG.
-
precision
-
Spécifie la précision à laquelle la variable devrait être associée à la base de données. Ce paramètre peut également être utilisé pour récupérer des valeurs de sortie XML pour les procédures stockées. Une valeur non-négative spécifie la taille maximale des données XML qui seront récupérées depuis la base de données. Si ce paramètre n'est pas utilisé, une taille par défaut de 1 Mo sera définie pour récupérer les valeurs de sorte XML depuis la procédure stockée.
-
scale
-
Spécifie l'échelle à laquelle la variable devrait être associée à la base de données.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 Association de variables PHP à une requête préparée
<?php $sql = 'SELECT nom, race, poids FROM animaux WHERE poids > ? AND poids < ?'; $conn = db2_connect($database, $user, $password); $stmt = db2_prepare($conn, $sql); // Nous pouvons déclarer la variable avant d'appeler db2_bind_param() $lower_limit = 1; db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN); db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN); // Nous pouvons aussi déclarer la variable après l'appel de db2_bind_param() $upper_limit = 15.0; if (db2_execute($stmt)) { while ($row = db2_fetch_array($stmt)) { print "{$row[0]}, {$row[1]}, {$row[2]}\n"; } } ?>
<?php $sql = 'CALL concorde_animal(?, ?, ?)'; $conn = db2_connect($database, $user, $password); $stmt = db2_prepare($conn, $sql); $nom = "Peaches"; $second_nom = "Rickety Ride"; $poids = 0; db2_bind_param($stmt, 1, "nom", DB2_PARAM_IN); db2_bind_param($stmt, 2, "second_nom", DB2_PARAM_INOUT); db2_bind_param($stmt, 3, "poids", DB2_PARAM_OUT); print "Valeurs des paramètres _avant_ CALL :\n"; print " 1: {$nom} 2: {$second_nom} 3: {$poids}\n\n"; if (db2_execute($stmt)) { print "Valeurs des paramètres _après_ CALL :\n"; print " 1: {$nom} 2: {$second_nom} 3: {$poids}\n\n"; print "Résultats :\n"; while ($row = db2_fetch_array($stmt)) { print " {$row[0]}, {$row[1]}, {$row[2]}\n"; } } ?>
<?php $stmt = db2_prepare($conn, "INSERT INTO animal_pictures(photo) VALUES (?)"); $picture = "/opt/albums/spook/grooming.jpg"; $rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE); $rc = db2_execute($stmt); ?>
Voir aussi
- db2_execute() - Exécute une requête SQL préparée
- db2_prepare() - Prépare une requête SQL à être exécutée