Maison > développement back-end > tutoriel php > Comment puis-je exécuter plusieurs requêtes MySQL simultanément ?

Comment puis-je exécuter plusieurs requêtes MySQL simultanément ?

Linda Hamilton
Libérer: 2024-12-24 00:10:20
original
576 Les gens l'ont consulté

How Can I Execute Multiple MySQL Queries Simultaneously?

Pourquoi ne puis-je pas exécuter plusieurs requêtes MySQLi simultanément ?

Comme vous l'avez remarqué, tenter d'exécuter deux requêtes MySQL distinctes en utilisant des requêtes consécutives Les appels à mysqli_query() entraîneront l'échec de la deuxième requête. Ce comportement est dû à des mesures de sécurité.

mysqli_multi_query() à la rescousse

Heureusement, mysqli fournit la fonction mysqli_multi_query() spécialement conçue pour exécuter plusieurs requêtes en une seule fois. appel à la base de données.

Exemple Code

Voici un exemple d'utilisation de mysqli_multi_query() :

$mysqli = new mysqli($host, $user, $password, $database);

// Create query string with multiple queries separated by ;
$query  = "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName');";
$query .= "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year');";

// Execute query using mysqli_multi_query()
$result = mysqli_multi_query($mysqli, $query);

// Retrieve results
if ($result) {
    do {
        $result = mysqli_store_result($mysqli);
    } while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli));
} else {
    echo "First query failed: " . mysqli_error($mysqli);
}
Copier après la connexion

Considérations supplémentaires :

  • mysqli_store_result( ) renverra FALSE pour les requêtes sans jeux de résultats, telles que les requêtes INSERT. Vérifiez mysqli_error() pour confirmer la réussite de l'exécution.
  • Notez l'utilisation de ";" comme séparateur entre les requêtes.

En utilisant mysqli_multi_query(), vous pouvez exécuter efficacement plusieurs requêtes en un seul appel à la base de données, évitant ainsi le deuxième problème d'échec de la requête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal