下面是网上找了一段代码,原来是分在init、action、end中的,我把它们都放到了action,测试成功了。放到一起会提示一些错误。根据自己本地的数据库修改一些参数就行了。新手,菜鸟,只是拿了别人的东西来用。
网上下载libmysql_e.dll文件放到脚本目录下,使用lr_load_dll("libmysql_e.dll");加载进去就行。用libmysql.dll不行,无法连接mysql数据库。mysql5.5/mysql5.7都试过了。
Action()
{
int db_connection; //数据库连接
int query_result; // 查询结果集 MYSQL_RES
char** result_row; // 查询的数据行
char *server = "localhost";
char *user = "root";
char *password = "123456";
char *database = "study_test";
int port = 3306;
int unix_socket = NULL;
int flags = 1;
// 找到libmysql.dll的所在位置.如果安装了mysql,并将dll文件导入了脚本内,可以直接load,不需要路径
rc = lr_load_dll("libmysql_e.dll");//这边我加载的是libmysql_e.dll文件,原码是加载libmysql.dll文件,不知道为什么加载没成功。
if (rc != 0) {
lr_error_message("Could not load libmysql.dll");
lr_abort();
}
// 创建MySQL对象
db_connection = mysql_init(NULL);
if (db_connection == NULL) {
lr_error_message("Insufficient memory");
lr_abort();
}
// 连接到MySQL数据库
rc = mysql_real_connect(db_connection, server, user, password, database, port, unix_socket, flags);
if (rc == NULL) {
lr_error_message("%s", mysql_error(db_connection));
mysql_close(db_connection);
lr_abort();
}
lr_save_string (lr_eval_string("INSERT INTO customer(name,age) VALUES ( 'lxx2', '20')") ,"paramInsertQuery");
rc = mysql_query(db_connection, lr_eval_string("{paramInsertQuery}"));
if (rc!= 0) {
lr_error_message("%s", mysql_error(db_connection));
mysql_close(db_connection);
lr_abort();
}
mysql_close(db_connection);
return 0;
}