Не получается разобраться,подскажите может кто сталкивался.
Код:
mysql_init(&mysql); // Инициализация
mysql_real_connect(&mysql, host, user, passwd, db, port, NULL, CLIENT_FOUND_ROWS); // соединение
if (mysql_query(&mysql, query) > 0) // запорс. Если ошибок нет, то продолжаем работу
{
// Если была ошибка, ...(Здесь ошибку не выводит)
Windows::Forms::MessageBox::Show(ToUCS2(mysql_error(&mysql))); // ... вывдем ее
return; // и завершим работу
}
res = mysql_use_result(&mysql); // Берем результат,
if(res == NULL)
{
Windows::Forms::MessageBox::Show(ToUCS2(mysql_error(&mysql)));
// (выводит только тут)(mysql server has gone away)
mysql_ping(&mysql);
mysql_query(&mysql, query);
res = mysql_store_result(&mysql);
}
int num_fields = mysql_num_fields(res); // количество полей
my_ulonglong num_rows = mysql_num_rows(res); // и количество строк.
отваливается на int num_fields = mysql_num_fields(res);
так как по дебагу
Код:
res <undefined value> st_mysql_res*
Код:
A first chance exception of type 'System.AccessViolationException' occurred in Trade.exe
An unhandled exception of type 'System.AccessViolationException' occurred in Trade.exe
Additional information: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
дописал кусочек(синий код) после чего хоть что начало писать
итог "
mysql server has gone away "
сам запрос
Код:
void auth()
{
mysql("SELECT * FROM users"); // Запрос
}
Проверенно на 3 разных серверах mysql с разной конфигурацией