MySQL + C++, alxx, 23-Фев-11, 14:04 [смотреть все]Я создаю коннект к БД, выполняю запрос на выборку и по результату запроса либо добавляю либо обновляю записи в таблице, но при выполнении в программе кода выскакивает следующая ошибка: "Commands out of sync; you can't run this command now" на каждой итерации цикла. Код://----------------------------------------------------------------------- MYSQL *conn; char test_query[255]; strcpy(test_query, "SELECT * FROM drnet WHERE src = \'"); strcat(test_query,s); strcat(test_query,"\' and dst = \'"); strcat(test_query,d); strcat(test_query,"\'"); printf("QUERY: %s\nTEST_QUERY: %s\n",query,test_query); conn = mysql_init(NULL); //Connect to DB if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr,"mysql_real_connect: %s\n",mysql_error(conn)); return 1; } //проверка есть ли уже такая запись. Если да, то модифицируем поле переданной информации, если нет, то вставляем новую запись if(mysql_query(conn,test_query)!=0) { printf("update\n"); char update_query[255]; strcpy(update_query, "UPDATE drnet SET length = length + "); strcat(update_query,datalen); strcat(update_query," WHERE src = \'"); strcat(update_query,s); strcat(update_query,"\'"); strcat(update_query," AND dst = \'"); strcat(update_query,d); strcat(update_query,"\'"); printf("UPDATE_QUERY: %s\n",update_query); mysql_query(conn, update_query); mysql_close(conn); return 0; } //Query result if(mysql_query(conn,query)) { fprintf(stderr,"mysql_query: %s\n",mysql_error(conn)); mysql_close(conn); return 1; } mysql_close(conn); return 0; //-----------------------------------------------------------------------
|