API MySQL - Eviter plusieurs connexions pour la lecture et la mise à jour de lig

Signaler
Messages postés
18
Date d'inscription
mercredi 25 août 2004
Statut
Membre
Dernière intervention
2 mars 2008
-
Messages postés
2
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
20 décembre 2008
-
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 ?

1 réponse

Messages postés
2
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
20 décembre 2008

salut,
D'pres ton message, j'ai compris que tu te connecte deja au mysql. Je voudrais savoir ou je peux trouver l'entete "mysql.h" dans easyPHP. ET MERCI