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');";
Ensuite, exécutez la multi-requête en utilisant mysqli_multi_query() :
$result = mysqli_multi_query($mysqli, $query);
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!