Manuel PHP
Précédent |  | Suivant

# mysqli_stmt_bind_param

(PHP 5)

mysqli_stmt_bind_param

(no version information, might be only in CVS)

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 1. 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 1. 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 2. 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().

Précédent | Sommaire | Suivant
mysqli_stmt_attr_set | Niveau supérieur | mysqli_stmt_bind_result