В общем непонятная для меня проблема, т.к. опыта программирования под Linux у меня немного. На #raspberrypi установлен mysql сервер и все соответствующие пакеты для разработки на C++ для #mysql Следующий код просто прерывает выполнение программы: PHP: void adsbpic::save_mysql(int index){ char sqlbuf[MAXLEN]; // Буфер для записи в БД int length; // Длина записи в символах length = snprintf(sqlbuf, MAXLEN, "INSERT INTO aircraftlog VALUES(now(),'%s','%s', %f, %f, %d, %.0f, %d, %d)", adsbpic::icaos[index], adsbpic::savedAid[index], adsbpic::alat[index], adsbpic::alon[index], adsbpic::aalt[index], adsbpic::aspeed[index], adsbpic::ah[index], adsbpic::avr[index]);#ifdef DEBUG printf("[MSQL] %s\n", sqlbuf); printf("%d\n", length);#endif //DEBUG if (mysql_real_query(mysql, sqlbuf, length)) { printf("[MSQL] %s\n", mysql_error(mysql)); }} В момент запроса mysql_real_query программа падает. Если выполнить аналогичный запрос, но с уже готовыми данными, то запись в базу происходит корректно: PHP: length = snprintf(sqlbuf, MAXLEN, "INSERT INTO aircraftlog VALUES(now(), '4844A4', 'KZR881', 43.320534, 76.969299, 4475, 233, 236, -36)"); if (mysql_real_query(mysql, sqlbuf, length)) { printf(mysql_error(mysql)); } Помогите у кого есть опыт работы с mysql на #c++
Что выдает этот фрагмент когда? PHP: ...#ifdef DEBUG printf("[MSQL] %s\n", sqlbuf); printf("%d\n", length);#endif //DEBUG...
Тоже, что я пишу потом готовой строкой "INSERT INTO aircraftlog VALUES(now(), '4844A4', 'KZR881', 43.320534, 76.969299, 4475, 233, 236, -36)" И длину строки в байтах.
Из документации Zeroif the statement was successful. Nonzeroif an error occurred. Наверно надо так попробовать выйти на ошибку if (mysql_real_query(mysql, sqlbuf, length) !=0 ) { }