Exécution de requêtes multiples en PHP avec MySQL
Cette question explore le défi d'exécuter plusieurs requêtes MySQL dans un seul script PHP et de récupérer les requêtes combinées résultats.
Un utilisateur a fourni un script qui incluait plusieurs requêtes séparées par des points-virgules, mais n'a pas pu récupérer les résultats en utilisant mysql_fetch_array().
La solution de php.net suggère d'utiliser mysqli_multi_query(), qui vous permet d'exécuter des requêtes concaténées au sein d'un seul appel de fonction. Voici un exemple :
if (mysqli_multi_query($link, $query)) { do { if ($result = mysqli_store_result($link)) { while ($row = mysqli_fetch_array($result)) { // Process and print the results } mysqli_free_result($result); } } while (mysqli_next_result($link)); }
Dans ce script, la fonction mysqli_multi_query() est utilisée pour exécuter les instructions SQL concaténées. La fonction mysqli_store_result() est ensuite utilisée pour récupérer le jeu de résultats de la requête exécutée. La fonction mysqli_fetch_array() est utilisée pour parcourir l'ensemble de résultats et récupérer les données ligne par ligne.
Au lieu d'exécuter plusieurs requêtes en un seul appel, l'utilisateur a également suggéré de les exécuter séparément et de récupérer les résultats. individuellement en utilisant mysqli_query() et mysqli_fetch_array().
$query1 = "Create temporary table A select c1 from t1"; $result1 = mysqli_query($link, $query1) or die(mysqli_error()); $query2 = "select c1 from A"; $result2 = mysqli_query($link, $query2) or die(mysqli_error()); while($row = mysqli_fetch_array($result2)) { // Process and print the results }
En tirant parti de l'un d'entre eux méthodes, les développeurs peuvent exécuter plusieurs requêtes MySQL dans un script PHP et récupérer les résultats combinés pour un traitement ultérieur.
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!