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