Я создаю коннект к БД, выполняю запрос на выборку и по результату запроса либо добавляю либо обновляю записи в таблице, но при выполнении в программе кода выскакивает следующая ошибка: "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;
//-----------------------------------------------------------------------