Mysql
 sql >> Database >  >> RDS >> Mysql

Non riesco a capire come eseguire una mysqli_multi_query e utilizzare i risultati dell'ultima query

Dal manuale :mysqli_multi_query() restituisce un bool indicando il successo.

Ecco una funzione che restituisce l'ultimo risultato di una query multipla:

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

Utilizzo:

$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);