mysqli_stmt->error
mysqli_stmt::fetch
MySQLi_STMT
PHP Manual

# mysqli_stmt::execute

# mysqli_stmt_execute

(PHP 5)

mysqli_stmt::execute -- mysqli_stmt_execute — Exécute une requête préparée

### Description

Style orienté objet (méthode) :

bool mysqli_stmt::execute ( void )

Style procédural :

bool mysqli_stmt_execute ( mysqli_stmt `$stmt` )

Exécute une requête qui a été préalablement préparée en utilisant la fonction mysqli_prepare(), grâce à la ressource `stmt` . Lors de l'exécution, toutes les variables de la requête seront remplacées par les données appropriées.

Si la requête est UPDATE, DELETE ou INSERT, le nombre total de lignes affectées est disponible via la fonction mysqli_stmt_affected_rows(). De la même façon, si la fonction génère un résultat, il sera disponible via la fonction mysqli_stmt_fetch().

> Note: Lors de l'utilisation de mysqli_stmt_execute(), mysqli_stmt_fetch() doit être utilisée pour lire les données avant de lancer une autre requête.

### Liste de paramètres

`stmt`

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

### 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", "my_user", "my_password", "world");
/* Vérifie la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TABLE myCity LIKE City");
/* Préparation de la commande d'insertion */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("sss", $val1, $val2, $val3);
$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';
/* Exécute la requête */
$stmt->execute();
$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';
/* Exécute la requête */
$stmt->execute();
/* Ferme la requête */
$stmt->close();
/* Récupère toutes les lignes de la table myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_row()) {
printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
}
/* Libère le résultat */
$result->close();
}
/* Efface la table */
$mysqli->query("DROP TABLE myCity");
/* Ferme la connexion */
$mysqli->close();
?>`

Exemple #2 Style procédural

`<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérifie la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
mysqli_query($link, "CREATE TABLE myCity LIKE City");
/* Préparation de la commande d'insertion */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);
$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';
/* Exécute la requête */
mysqli_stmt_execute($stmt);
$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';
/* Exécute la requête */
mysqli_stmt_execute($stmt);
/* Ferme la requête */
mysqli_stmt_close($stmt);
/* Récupère toutes les lignes de la table myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = mysqli_query($link, $query)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
}
/* Libère le résultat */
mysqli_free_result($result);
}
/* Efface la table */
mysqli_query($link, "DROP TABLE myCity");
/* Ferme la connexion */
mysqli_close($link);
?>`

L'exemple ci-dessus va afficher :

    Stuttgart (DEU,Baden-Wuerttemberg)
    Bordeaux (FRA,Aquitaine)

### Voir aussi

- mysqli_prepare() - Prépare une requête SQL pour l'exécution
- mysqli_stmt_bind_param() - Lie des variables à une requête MySQL

mysqli_stmt->error
mysqli_stmt::fetch
MySQLi_STMT
PHP Manual