在自己的LiuServer中要加入对数据库的支持,即开发者可以用liuServer实现WEB数据库技术.现在发布一个对mysql数据库操作的源代码.
要准备的文件是mysql提供的C开发API文件和libmysql.dll libmysql.lib
运行时只要将可执行文件与libmysql.dll放在同一目录下就可以了
我在mysql中定义了一个数据库test和其中的一张表 liu 只有一个字段name
MYSQL中的用用户名和密码分别是root 523667
源码如下:
#include <stdio.h>
#include <iostream.h>
#include<stdlib.h>
#include<winsock.h>
#include "include/mysql.h"
#pragam comment(lib,"libmysql.lib")
int main() {
// putenv("name=fwefwffwe");
char name[20];
strcpy(name,getenv("name"));
if(name == NULL)
strcpy(name,"刘渚");
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "523667";
char *database = "test";
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
cout<<"无法连接数据库"<<endl;
exit(0);
}
/* send SQL query */
if (mysql_query(conn, "SELECT * FROM liu")) {
cout<<"查询失败"<<endl;
exit(0);
}
res = mysql_use_result(conn);
/* output fields 1 and 2 of each row */
while ((row = mysql_fetch_row(res)) != NULL)
{
cout<<"name password"<<endl;
printf("%s/n", row[0]);
}
char insert[200];
sprintf(insert,"insert into liu value ( /'%s/')",name);
if( mysql_query(conn,insert))
{
cout<<"添加失败"<<endl;
}
mysql_close(conn);
return 0 ;
}