При использовании программы на C с Mysql C API, подключенной к базе данных, и инициация прошла успешно, но попытался выполнить операции SELECT, INSERT выдает ошибку "Сервер MySQL исчез" VPS Server, но то же самое отлично работает локально.
Версия Mysql Server VPS Server
: 5.0.81-сообщество MySQL сообщество
Издание (GPL).
значение времени ожидания: 28800
Версия Mysql Server для локальной машины
: 5.0.77 Исходное распределение.
Но доступ к той же базе данных с помощью Php работает нормально, без каких-либо проблем (локально и с vps-сервера) только при вызове с использованием Mysql C API.
int fetch_information_from_tbl()
{
MYSQL_RES *result;
MYSQL_ROW row;
char query_def1[100];
unsigned int num_fields;
int tblid;
/***EDITED FOR MORE INFORMATION START ***/
// Tried to ping and set reconnection still the same error
/* try a ping */
if (mysql_ping(mysql)) {
fprintf(stderr, "Cannot ping database: Error: %s\n",mysql_error(mysql));
}
my_bool reconnect = 0;
if(mysql_options(mysql, MYSQL_OPT_RECONNECT, &reconnect)){
fprintf(stderr, "Mysql Option Error: %s\n",mysql_error(mysql));
}
/***EDITED FOR MORE INFORMATION ENDS***/
sprintf(query_def1, "SELECT tblid FROM test_table");
if (mysql_query(mysql, query_def1)) {
fprintf(stderr, "%s\n", mysql_error(mysql));
exit(1);
}
result = mysql_store_result(mysql);
num_fields = mysql_num_fields(result);
row = mysql_fetch_row(result);
if (row)
{
tblid = atoi(row[0]);
printf("Fetched Table ID is: %d\n",tblid)
}
}
Это правильный способ выполнить запрос mysql, подобный этому, или предложить лучший способ сделать это?
И что будет в случае этой ошибки, которая возникает при выполнении SELECT OPERATION? Заранее спасибо.