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 &$...] )
}

Sert à lier des variables à une requête MySQL préparée par mysqli_prepare() .

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.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init() .

types

Une chaîne de caractères qui contient un ou plusieurs caractères qui spécifient le type de la variable à lier :

Tableau 191. Caractère de spécification des types

Caractère Description
i correspond à une variable de type entier
d correspond à une variable de type nombre à virgule flottante
s correspond à une variable de type chaîne de caractères
b correspond à une variable de type BLOB, qui sera envoyé par paquets


var1

Le nombre de variables et la longueur de la chaîne de caractères types doivent correspondre aux paramètres de la requête.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemples

Exemple 1708. Style orienté objet

<?php
$mysqli 
= new  mysqli ( 'localhost' 'my_user' 'my_password' 'world' );

/* Vérification de la connexion */
if ( mysqli_connect_errno ()) {
    
printf ( "Échec de la connexion : %s\n" mysqli_connect_error ());
    exit();
}

$stmt  $mysqli -> prepare ( "INSERT INTO CountryLanguage 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 CountryLanguage WHERE Language='Bavarian'" );
printf ( "%d ligne effacée.\n" $mysqli -> affected_rows );

/* Fermeture de la connexion */
$mysqli -> close ();
?>

Exemple 1709. Style procédural

<?php
$link 
mysqli_connect ( 'localhost' 'my_user' 'my_password' 'world' );

/* Vérification de la connexion */
if (! $link ) {
    
printf ( "Échec de la connexion : %s\n" mysqli_connect_error ());
    exit();
}

$stmt  mysqli_prepare ( $link "INSERT INTO CountryLanguage 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 CountryLanguage WHERE Language='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()
mysqli_stmt_error()