la documentazione l'errore descritto nella dice il titoloperché sto ottenendo l'errore "Comandi fuori sincrono, non è possibile eseguire questo comando ora"
Se si ottiene Comandi fuori sincrono; non è possibile eseguire questo comando ora nel codice , si stanno chiamando le funzioni client nell'ordine sbagliato.
Questo può accadere, ad esempio, se si utilizza mysql_use_result() e provare ad eseguire una nuova query prima di aver chiamato mysql_free_result(). Può anche accadere se si tenta di eseguire due query che restituiscono dati senza chiamare mysql_use_result() o mysql_store_result() in mezzo.
Da qui: http://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html
ma in prima query non sto il recupero di tutti i dati dal database mysql, sto solo inserimento. E nella seconda query sto ricevendo i dati dal database.
Ecco il mio codice
$connection = mysqli_connect("localhost","username","password","tbl_msgs");
if(mysqli_connect_errno($connection))
{
die("Failed to connect to MySQL: " . mysqli_connect_error());
}
$query = "INSERT INTO users (total_comments, total_views)
VALUES ({$total_comments}, {$total_views});";
$query .= "INSERT INTO msgs (notifications) VALUES ({$notifications})";
mysqli_multi_query($connection,$query);
Fino a questo punto ogni cosa va bene. Ma quando eseguo la seguente query dà l'errore
$select_query = "SELECT * FROM msgs WHERE msg_id = {$msg_id}";
$result_set = mysqli_query($connection,$select_query);
if(!$result_set) {
die(mysqli_error($connection));
}
Qui dà l'errore Commands out of sync; you can't run this command now
. Non riesco a capire questa situazione
Nota: c'è qualche problema nella query, ho eseguito la stessa query direttamente su PHPMyAdmin e funziona correttamente.
perché devo fare questo con mysqli ma non con mysql? – Fearghal
Le funzioni mysql_ * sono obsolete da PHP versione 5.5.0. – LightYearsBehind