#includeint main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "password"; char *database = "test"; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { printf("连接数据库失败:%s\n", mysql_error(conn)); return 1; } if (mysql_query(conn, "SELECT * FROM user")) { printf("查询失败:%s\n", mysql_error(conn)); return 1; } res = mysql_store_result(conn); while (row = mysql_fetch_row(res)) { printf("%s %s %s\n", row[0], row[1], row[2]); } mysql_free_result(res); mysql_close(conn); return 0; }
上面的代码展示了如何使用MySQL C API查询数据库中的数据。首先要设置连接参数,包括主机名、用户名、密码、数据库名等。然后,使用mysql_real_connect函数连接数据库。如果连接失败,可以通过mysql_error函数获取失败原因。接下来,使用mysql_query函数执行SQL查询语句。在这个例子中,大家执行了一个简单的SELECT * FROM user查询。如果查询失败,同样可以使用mysql_error函数获取失败原因。使用mysql_store_result函数获取查询结果,并使用mysql_fetch_row函数获取每一行数据。最后,使用mysql_free_result函数释放内存,使用mysql_close函数关闭连接。如果没有出现错误,程序将会打印出查询结果。
MySQL C API还提供了许多其他的函数,可以实现不同的功能。例如,可以使用mysql_real_escape_string函数转义字符串,避免SQL注入攻击。也可以使用mysql_query函数执行更新、插入、删除等操作。除了C语言,MySQL还提供了Python、PHP、Java等语言的客户端。