我有这个超级简单的代码:
#include <winsock.h>
#include <mysql.h>
int main() {
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, "option");
if (mysql_real_connect(&mysql, "localhost", "root", "pass", "data", 0, NULL, 0)) {
mysql_query(&mysql, "SELECT * FROM versions");
mysql_close(&mysql);
}
else {
return 1;
}
return 0;
}
调试时,在第9行(mysql_query
)出现分段错误。
一个主意?
答案 0 :(得分:-2)
此代码有效:
#include <winsock.h>
#include <mysql.h>
int main() {
MYSQL* mysql = new MYSQL;
mysql_init(mysql);
if (mysql_real_connect(mysql, "localhost", "root", "pass", "data", 0, NULL, 0)) {
mysql_query(mysql, "SELECT * FROM versions");
mysql_close(mysql);
}
else {
return 1;
}
return 0;
}
MYSQL
对象使用指针mysql_init(mysql)
的返回值本身放入mysql
mysql_options