Maison > développement back-end > tutoriel php > Pourquoi mes deuxièmes requêtes MySQL échouent-elles et comment « mysqli_multi_query() » peut-elle m'aider ?

Pourquoi mes deuxièmes requêtes MySQL échouent-elles et comment « mysqli_multi_query() » peut-elle m'aider ?

DDD
Libérer: 2024-12-29 17:55:18
original
206 Les gens l'ont consulté

Why Do My Second MySQL Queries Fail, and How Can `mysqli_multi_query()` Help?

Deux requêtes mysqli simultanément ?

Lorsque vous tentez d'exécuter plusieurs requêtes MySQL, pourquoi la deuxième requête échouerait-elle ?

La solution mysqli_multi_query()

Pour résoudre ce problème problème, pensez à utiliser la fonction mysqli_multi_query(). Cette fonction vous permet d'exécuter plusieurs requêtes au sein d'un seul appel mysqli.

Exemple d'implémentation

Commencez par formuler une chaîne contenant vos requêtes, en séparant chacune par un point-virgule (; ).

$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');";
Copier après la connexion

Ensuite, exécutez la multi-requête en utilisant mysqli_multi_query() :

$result = mysqli_multi_query($mysqli, $query);
Copier après la connexion

Gestion des résultats d'exécution

Les résultats de l'exécution sont capturés dans la variable $result. Si la première requête échoue, $result sera faux.

Étapes et précautions suivantes

De plus, notez que mysqli_store_result() renverra false pour les requêtes sans jeu de résultats (telles que les requêtes INSERT). Par conséquent, assurez-vous d'utiliser mysqli_error() pour vérifier une INSERT réussie en recherchant un résultat vide.

Référez-vous à la documentation fournie pour plus d'informations sur mysqli_multi_query(), mysqli_more_results(), mysqli_next_result() et mysqli_store_result() fonctions.

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal