Bonjour à tous,
J'ai actuellement pas un problème qui me bloque mais tout simplement une question d'optimisation.
Lorsque je fais
while(row = mysql_fetch_row(result)) et que je souhaite faire des updates sur certaines ligne, je suis obligé d'ouvrir une seconde connexion au serveur MySQL pour pouvoir faire l'update sinon avec mysql_error j'ai cette erreur :
Commands out of sync; you can't run this command now
Du coup actuellement j'ouvre une seconde connexion à MySQL. Mais pour une question d'optimisation, est-il possible d'éviter une deuxième connexion à MySQL afin de pouvoir mettre à jour certaines lignes ?
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");
MYSQL mysql_update;
mysql_init(&mysql_update);
mysql_options(&mysql_update,MYSQL_READ_DEFAULT_GROUP,"option");
if(mysql_real_connect(&mysql, MYSQL_SERVER, MYSQL_LOGIN, MYSQL_PASSWORD, MYSQL_BDD, 0, NULL, 0) && mysql_real_connect(&mysql_update, MYSQL_SERVER, MYSQL_LOGIN, MYSQL_PASSWORD, MYSQL_BDD, 0, NULL, 0)) {
mysql_query(&mysql, "SELECT ID, pseudo FROM acces");
MYSQL_RES *result = NULL;
MYSQL_ROW *row = NULL;
result = mysql_use_result(&mysql);
while(row = mysql_fetch_row(result)) {
sprintf(requete, "UPDATE acces SET message='Bonjour %s' WHERE ID=%s", row[1], row[0]);
mysql_query(&mysql_update, requete);
}
mysql_free_result(result);
mysql_close(&mysql);
mysql_close(&mysql_update);
}
Auriez-vous l'optimisation qui me permettrait d'avoir qu'une seule connexion ?