mysqli_stmt_bind_param,
(PHP 5)
mysqli_stmt_bind_param, stmt->bind_param ? Lie des variables à une requête MySQL
Description
Style procédural
bool mysqli_stmt_bind_param ( mysqli_stmt stmt, string types, mixed &var1 [, mixed &...] )Style orienté objet (méthode)
class mysqli_stmt {bool bind_param ( string types, mixed &var1 [, mixed &...] )
}
mysqli_stmt_bind_param() sert à lier des variables à une requête MySQL préparée par mysqli_prepare(). La chaîne types contient un ou plusieurs caractères qui spécifient le type de la variable à lier :
Tableau 183. Caractère de spécification des types
| Caractère | Description |
|---|---|
| i | Type entier |
| d | Type double (nombre à virgule flottante) |
| s | Type chaîne |
| b | Type BLOB, qui sera envoyé par paquets |
Note: Si la taille des données dépasse la taille maximal d'un paquet, (max_allowed_packet), vous devez spécifier le caractère b dans le paramètre types et utiliser la fonction mysqli_stmt_send_long_data() pour envoyer le message par paquets.
Le nombre de variables et la taille de la chaîne types doivent correspondre au nombre de variables de la requête.
Valeurs de retour
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemples
Exemple 1628. Style orienté objet
<?php
$mysqli = new mysqli('localhost', 'utilisateur', 'mot_de_passe', 'base');
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Connexion échouée : %s\n", mysqli_connect_error());
exit();
}
$stmt = $mysqli->prepare("INSERT INTO Langage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);
$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;
/* Exécution de la requête préparée */
$stmt->execute();
printf("%d Ligne insérée.\n", $stmt->affected_rows);
/* Fermeture de la commande */
$stmt->close();
/* Nettoyage de la table Langage */
$mysqli->query("DELETE FROM Langage WHERE Langue='Bavarian'");
printf("%d Ligne effacée.\n", $mysqli->affected_rows);
/* Fermeture de la connexion */
$mysqli->close();
?>
Exemple 1629. Style procédural
<?php
$link = mysqli_connect('localhost', 'utilisateur', 'mot_de_passe', 'base');
/* Vérification de la connexion */
if (!$link) {
printf("Connexion échouée : %s\n", mysqli_connect_error());
exit();
}
$stmt = mysqli_prepare($link, "INSERT INTO Langage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);
$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;
/* Exécution de la requête préparée */
mysqli_stmt_execute($stmt);
printf("%d ligne insérée.\n", mysqli_stmt_affected_rows($stmt));
/* Fermeture de la commande */
mysqli_stmt_close($stmt);
/* Nettoyage de la table Langage */
mysqli_query($link, "DELETE FROM Langage WHERE Langue='Bavarian'");
printf("%d ligne effacée.\n", mysqli_affected_rows($link));
/* Fermeture de la connexion */
mysqli_close($link);
?>
L'exemple ci-dessus va afficher :
1 ligne insérée. 1 ligne effacée. |
Voir aussi
mysqli_stmt_bind_result(), mysqli_stmt_execute(), mysqli_stmt_fetch(), mysqli_prepare(), mysqli_stmt_send_long_data(), mysqli_stmt_errno() et mysqli_stmt_error().
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ