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
