Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible de comprendre comment exécuter un mysqli_multi_query et utiliser les résultats de la dernière requête

Depuis le manuel :mysqli_multi_query() renvoie un bool indiquant le succès.

Voici une fonction qui renvoie le dernier résultat d'une multi-requête :

function mysqli_last_result($link) {
    while (mysqli_more_results($link)) {
        mysqli_use_result($link); 
        mysqli_next_result($link);
    }
    return mysqli_store_result($link);
}

Utilisation :

$link = mysqli_connect();

$query  = "SELECT 1;";
$query .= "SELECT 2;";
$query .= "SELECT 3";

mysqli_multi_query($link, $query);
$result = mysqli_last_result($link);
$row = $result->fetch_row();
echo $row[0];  // prints "3"

$result->free();
mysqli_close($link);