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
124 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!

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