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

Fran6web Messages postés 18 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 2 mars 2008 - 2 mars 2008 à 10:43
nhicham Messages postés 2 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 20 décembre 2008 - 20 déc. 2008 à 12:29
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 ?
A voir également:

1 réponse

nhicham Messages postés 2 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 20 décembre 2008
20 déc. 2008 à 12:29
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
0
Rejoignez-nous