La documentation de l'erreur mentionnée dans le titre ditPourquoi je reçois l'erreur « Commandes de synchronisation, vous ne pouvez pas exécuter cette commande maintenant »
Si vous obtenez commandes de synchronisation; vous ne pouvez pas exécuter cette commande maintenant dans votre code client, vous appelez les fonctions client dans le mauvais ordre. Cela peut arriver, par exemple, si vous utilisez mysql_use_result() et essayez d'exécuter une nouvelle requête avant d'avoir appelé mysql_free_result(). Cela peut aussi arriver si vous essayez d'exécuter deux requêtes qui renvoient les données sans appeler mysql_use_result() ou mysql_store_result() entre les deux.
D'ici: http://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html
Mais en première requête, je ne suis pas aller chercher toutes les données de base de données MySQL, je suis juste insérez. Et dans la deuxième requête, j'obtiens les données de la base de données.
Voici mon code
$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);
cette étape Upto tout va bien. Mais quand j'exécute la requête suivante Il donne l'erreur
$select_query = "SELECT * FROM msgs WHERE msg_id = {$msg_id}";
$result_set = mysqli_query($connection,$select_query);
if(!$result_set) {
die(mysqli_error($connection));
}
Ici, il donne l'erreur Commands out of sync; you can't run this command now
. Je ne peux pas comprendre cette situation
Remarque: Il y a un problème dans la requête, j'ai exécuté la même requête directement à PHPMyAdmin et cela fonctionne très bien.
pourquoi est-ce que je dois faire ceci avec mysqli mais pas mysql? – Fearghal
Les fonctions mysql_ * sont obsolètes depuis PHP version 5.5.0. – LightYearsBehind