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
