begin process at 2008 08 29 22:40:17
1 233 930 membres
450 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : API MySQL - Eviter plusieurs connexions pour la lecture et la mise à jour de lignes. [ Base de données / SQL ] (Fran6web)

API MySQL - Eviter plusieurs connexions pour la lecture et la mise à jour de lignes. le 02/03/2008 10:43:26

Fran6web
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 ?


Classé sous : mysql, connexion, row, update, result

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS