mysql表损坏,导致mysql.h(c+;+;)崩溃 我在C++中创建了一个非常简单的MySQL类,但是当MySQL崩溃时,表的索引就损坏了,而且我的所有C++程序也崩溃了,因为它似乎不能识别损坏的表,并且允许我处理这个问题。 Q_RES = mysql_real_query(MY_mysql, tmp_query.c_str(), (unsigned int) tmp_query.size()); if (Q_RES != 0) { if (Q_RES == CR_COMMANDS_OUT_OF_SYNC) cout << "errorquery : CR_COMMANDS_OUT_OF_SYNC " << endl; if (Q_RES == CR_SERVER_GONE_ERROR) cout << "errorquery : CR_SERVER_GONE_ERROR " << endl; if (Q_RES == CR_SERVER_LOST) cout << "errorquery : CR_SERVER_LOST " << endl; LAST_ERROR = mysql_error(MY_mysql); if (n_retrycount < n_retry_limit) { // RETRY! n_retrycount++; sleep(1); cout << "SLEEP - query retry! " << endl; ping(); return select_sql(tmp_query); } return false; } MY_result = mysql_store_result(MY_mysql); B_stored_results = true; cout << "b8" << endl; LAST_affected_rows = (mysql_num_rows(MY_result) + 1); // coult return -1 cout << "b8-1" << endl; Q\u RES=mysql\u real\u query(MY\u mysql,tmp\u query.c\u str(),(unsigned int)tmp\u query.size()); 如果(Q_RES!=0){ 如果(Q\u RES==CR\u COMMANDS\u OUT\u OF\u SYNC)不能

mysql表损坏,导致mysql.h(c+;+;)崩溃 我在C++中创建了一个非常简单的MySQL类,但是当MySQL崩溃时,表的索引就损坏了,而且我的所有C++程序也崩溃了,因为它似乎不能识别损坏的表,并且允许我处理这个问题。 Q_RES = mysql_real_query(MY_mysql, tmp_query.c_str(), (unsigned int) tmp_query.size()); if (Q_RES != 0) { if (Q_RES == CR_COMMANDS_OUT_OF_SYNC) cout << "errorquery : CR_COMMANDS_OUT_OF_SYNC " << endl; if (Q_RES == CR_SERVER_GONE_ERROR) cout << "errorquery : CR_SERVER_GONE_ERROR " << endl; if (Q_RES == CR_SERVER_LOST) cout << "errorquery : CR_SERVER_LOST " << endl; LAST_ERROR = mysql_error(MY_mysql); if (n_retrycount < n_retry_limit) { // RETRY! n_retrycount++; sleep(1); cout << "SLEEP - query retry! " << endl; ping(); return select_sql(tmp_query); } return false; } MY_result = mysql_store_result(MY_mysql); B_stored_results = true; cout << "b8" << endl; LAST_affected_rows = (mysql_num_rows(MY_result) + 1); // coult return -1 cout << "b8-1" << endl; Q\u RES=mysql\u real\u query(MY\u mysql,tmp\u query.c\u str(),(unsigned int)tmp\u query.size()); 如果(Q_RES!=0){ 如果(Q\u RES==CR\u COMMANDS\u OUT\u OF\u SYNC)不能,c++,mysql,c,C++,Mysql,C,您需要检查mysql\u store\u result()的返回值-它可能为空 mysql\u store\u result()返回空值 如果语句未返回,则返回指针 结果集(例如,如果是 插入语句) mysql_store_result()还返回 如果读取结果,则为空指针 设置失败。您可以检查 检查是否发生错误 mysql_error()返回一个非空的 字符串,mysql_errno()返回非零, 或者mysql_field_count()返回零 数据库损坏可能不是问题。您需要检查mysql\

您需要检查
mysql\u store\u result()
的返回值-它可能为空

mysql\u store\u result()返回空值 如果语句未返回,则返回指针 结果集(例如,如果是 插入语句)

mysql_store_result()还返回 如果读取结果,则为空指针 设置失败。您可以检查 检查是否发生错误 mysql_error()返回一个非空的 字符串,mysql_errno()返回非零, 或者mysql_field_count()返回零


数据库损坏可能不是问题。

您需要检查
mysql\u store\u result()
的返回值-它可能为空

mysql\u store\u result()返回空值 如果语句未返回,则返回指针 结果集(例如,如果是 插入语句)

mysql_store_result()还返回 如果读取结果,则为空指针 设置失败。您可以检查 检查是否发生错误 mysql_error()返回一个非空的 字符串,mysql_errno()返回非零, 或者mysql_field_count()返回零

数据库被破坏可能不是问题