(PECL maxdb >= 1.0)
maxdb_stmt_execute -- maxdb_stmt::execute — Exécute une requête préparée
Style procédural
$stmt
)Style orienté objet
maxdb_stmt_execute() exécute une requête qui a été
préparée auparavant en utilisant la fonction
maxdb_prepare() représenté par la ressource
stmt
. Lors de l'exécution, tous les marqueurs
existants seront automatiquement remplacés par les données appropriées.
Si la requête est du type UPDATE, DELETE ou INSERT, le nombre total de lignes affectées peut être déterminé en utilisant la fonction maxdb_stmt_affected_rows(). De même, si la requête rapporte un jeu de résultats, la fonction maxdb_fetch() est utilisée.
Note:
Lors de l'utilisation de la fonction maxdb_stmt_execute(), la fonction maxdb_fetch() doit être utilisée pour récupérer les données avant d'effectuer toute autre requête additionnelle.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemple #1 Style orienté objet
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
/* Prépare une requête d'insertion */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = $maxdb->prepare($query);
$stmt->bind_param("sss", $val1, $val2, $val3);
$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';
/* Exécute la requête */
$stmt->execute();
$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';
/* Exécute la requête */
$stmt->execute();
/* Fermeture de la requête */
$stmt->close();
/* Récupère toutes les lignes depuis myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = $maxdb->query($query)) {
while ($row = $result->fetch_row()) {
printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
}
/* Libération du jeu de résultats */
$result->close();
}
/* Effacement de la table */
$maxdb->query("DROP TABLE temp.mycity");
/* Fermeture de la connexion */
$maxdb->close();
?>
Exemple #2 Style procédural
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
/* Prépare une requête d'insertion */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = maxdb_prepare($link, $query);
maxdb_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);
$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';
/* Exécute la requête */
maxdb_stmt_execute($stmt);
$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';
/* Exécute la requête */
maxdb_stmt_execute($stmt);
/* Fermeture de la requête */
maxdb_stmt_close($stmt);
/* Récupère toutes les lignes depuis myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = maxdb_query($link, $query)) {
while ($row = maxdb_fetch_row($result)) {
printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
}
/* Libération du jeu de résultats */
maxdb_free_result($result);
}
/* Effacement de la table */
maxdb_query($link, "DROP TABLE temp.mycity");
/* Fermeture de la connexion */
maxdb_close($link);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
11111 (Georgetown,NY) 22222 (Hubbatown,CA)