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 */ mysqi_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_affected_rows | Niveau supérieur | mysqli_stmt_bind_result