mysqli_stmt::bind_param

creationdev

Documentation

Formation référencement web
Formation référencement web

100$ CAD

Conception web extra
Conception web extra

5000$ CAD

Référencement web stratégique
Référencement web stratégique

1000$ CAD

Conception d'application web
Conception d'application web

100$ CAD

Conception web microsite
Conception web microsite

1000$ CAD

Référencement web organique
Référencement web organique

300$ CAD

Référencement web optimisé
Référencement web optimisé

500$ CAD

Référencement web expert
Référencement web expert

750$ CAD

Conception web ecommerce
Conception web ecommerce

2500$ CAD

Conception web standard
Conception web standard

2500$ CAD

Méthode

Méthode

mysqli_stmt::bind_param

mysqli_stmt::bind_param

Page Vue 26 déc. 2018
Page Vue 20 fois

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Lie des variables à une requête MySQL

Description

Style orienté objet

public mysqli_stmt::bind_param(string $types, mixed &$var, mixed &...$vars): bool

Style procédural

mysqli_stmt_bind_param(
    mysqli_stmt $statement,
    string $types,
    mixed &$var,
    mixed &...$vars
): bool

Lie les variables pour les marqueurs de paramètre dans la requête préparé par mysqli_prepare() ou mysqli_stmt_prepare().

Note:

Si la taille des données dépasse la taille maximale 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.

Note:

Vous devez être prudent lors de l'utilisation de mysqli_stmt_bind_param() avec la fonction call_user_func_array(). Notez que mysqli_stmt_bind_param() nécessite que ses paramètres soient passés par référence, alors que la fonction call_user_func_array() peut accepter comme paramètre une liste de variables qui peuvent représenter des références ou des valeurs.

Liste de paramètres

statement

Style procédural uniquement : Un objet mysqli_stmt 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 :

Caractère de spécification des types
Caractère Description
i correspond à une variable de type int
d correspond à une variable de type float
s correspond à une variable de type string
b correspond à une variable de type BLOB, qui sera envoyé par paquets

var
vars

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 ou false si une erreur survient.

Erreurs / Exceptions

Si le rapport d'erreurs mysqli est activé (MYSQLI_REPORT_ERROR) et que l'opération demandée échoue, un avertissement est généré. Si, en plus, le mode est défini sur MYSQLI_REPORT_STRICT, une mysqli_sql_exception est lancée à la place.

Exemples

Exemple #1 Exemple avec mysqli_stmt::bind_param()

Style orienté objet

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

$stmt->execute();

printf("%d row inserted.\n", $stmt->affected_rows);

/* Clean up table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d row deleted.\n", $mysqli->affected_rows);

Style procédural

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

$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;

mysqli_stmt_execute($stmt);

printf("%d row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d row deleted.\n", mysqli_affected_rows($link));

Les exemples ci-dessus vont afficher :

1 row inserted.
1 row deleted.

Exemple #2 Using ... to provide arguments

The ... operator can be used to provide variable-length argument list, e.g. in a WHERE IN clause.

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

$stmt = $mysqli->prepare("SELECT Language FROM CountryLanguage WHERE CountryCode IN (?, ?)");
/* Using ... to provide arguments */
$stmt->bind_param('ss', ...['DEU', 'POL']);
$stmt->execute();
$stmt->store_result();

printf("%d rows found.\n", $stmt->num_rows());

Les exemples ci-dessus vont afficher :

10 rows found.

Voir aussi

  • mysqli-stmt_bind_result() - Lie des variables à un jeu de résultats
  • mysqli-stmt_execute() - Exécute une requête préparée
  • mysqli-stmt_fetch() - Lit des résultats depuis une requête MySQL préparée dans des variables liées
  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli-stmt_send_long_data() - Envoie des données MySQL par paquets
  • mysqli_stmt_errno() - Retourne un code erreur pour la dernière requête
  • mysqli_stmt_error() - Retourne une description de la dernière erreur de traitement


Source : http://www.php.net/
Ref : methode-mysqli-stmt::bind-param.php




Contact

Contact

Veuillez saisir les infos dans le formulaire d'identification
suivant pour concevoir et référencer votre site.









Veuillez saisir votre message.

Carte d'affaires

Affichage de la carte d'affaires recto/verso.

Carte d'affaires recto
Carte d'affaires verso

Partagez

Partagez

Discussion ayant comme sujet la page mysqli_stmt::bind_param.

©2025 creationdev -  F.A.Q. -  Soutien -  Haut de page
THÈMES: