上一节我们看了怎么使用mysql提供的API来连接mysql数据库,现在来看看怎么执行一条简单的查询语句,并且把查询的结果显示出来。
准备工作:首先新建了一个数据库inote,在这个数据库下面新建了一张表user,有两个字段,分别是username, password.事先插入几条数据,以便待会儿看到效果。
编码:
char sql[] = "select * from user;"; //查询语句

1 #include <cstdio> 2 #include <mysql/mysql.h> 3 4 using namespace std; 5 6 int main() 7 { 8 MYSQL *conn; 9 MYSQL_RES *res; //结果集 10 char server[] = "localhost"; //数据库服务器地址 11 char user[] = "root"; //用户名 12 char password[] = "admin"; //密码 13 char database[] = "inote"; //数据库名 14 conn = mysql_init(NULL); //初始化数据库连接 15 16 if (!mysql_real_connect(conn, server,user, password, database, 17 0, NULL, 0)) //连接数据库 18 { 19 fprintf(stderr, "%s ", mysql_error(conn)); 20 return -1; 21 } 22 printf("连接成功! "); 23 char sql[] = "select * from user;"; //查询语句 24 mysql_query(conn, (char*)sql); //执行sql语句 25 res = mysql_store_result(conn); //将查询结果装进MYSQL_RES 26 int rows = mysql_num_rows(res); //获取结果行数 27 28 printf("the number of the result is %d ", rows); 29 while(rows--) 30 { 31 MYSQL_ROW row = mysql_fetch_row(res); //从结果集中获取一行 32 printf("%s %s ", row[0], row[1]); //row[0]表示第一个字段值,row[1]表示第二个字段值 33 } 34 mysql_free_result(res); //查询完后记得要释放 35 mysql_close(conn); 36 return 0; 37 }