Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível descobrir como executar um mysqli_multi_query e usar os resultados da última consulta


Do manual :mysqli_multi_query() retorna um bool indicando sucesso.

Aqui está uma função que retorna o último resultado de uma consulta múltipla:
function mysqli_last_result($link) {
    while (mysqli_more_results($link)) {
        mysqli_use_result($link); 
        mysqli_next_result($link);
    }
    return mysqli_store_result($link);
}

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