使用C 语言操作MySQL 数据库 1.连接数据库。 从 C 语言连接MySQL 数据库包含两个步骤: a)初始化连接句柄结构; b)实际创建连接。 首先使用mysql_init 初始化连接句柄: MYSQL * mysql_init (MYSQL *); 通常传递一个空指针给 mysql_init 这个函数,它会返回一个指向新分配的连接句柄结构的指针。 如果传递一个已有的结构,他将被重新初始化。如果出错,返回NULL。 初始化成功后,则使用mysql_real_connect 来创建一个实际的连接: MYSQL * mysql_real_connect(MYSQL * connection, const char * server_host, const char * sql_user_name, const char * sql_password, const char *db_name, unsigned int port_number, const char * unix_socket_name, unsigned int flags ); connection 必须是已经初始化的连接句柄结构,server_host 可以是主机名,也可以是IP 地址,如果仅仅连接到本机, 可以使用 localhost来优化连接类型。 port_number和unix_socket_name 应该分别为 0 和 NULL,除非改变了 MYSQL 安装的默认 设置。 如果无法连接,返回 NULL。完成连接后,在程序正常退出前,应该使用mysql_close 关闭这个连接句柄。 void mysql_close(MYSQL * connection); 现在我们试图调用以上函数来建立一个对以上已经建好的数据库的访问,程序为 connect1.c。内容如下: #include #include #include "mysql.h" int main (int argc, char *argv[]) { MYSQL *conn_ptr; conn_ptr=mysql_init(NULL); //连接初始化 if(!conn_ptr){ fprintf(stderr, "mysql_init failed\n"); return EXIT_FAILURE; } conn_ptr = mysql_real_connect(conn_ptr, "localhost", "moldao","newpassword","moldao_test", 0, NULL, 0); //建立实际连接 //参数分别为:初始化的连接句柄指针,主机名(或者IP),用户名,密码,数据库名,0,NULL,0) 后面三个参数在默认安装 mysql>的情况下不用改 if(conn_ptr){ printf("Connection success\n"); } else { printf("Connection failed\n"); } mysql_close(conn_ptr); //关闭连接 return EXIT_SUCCESS; } 然后编译: #gcc -I/usr/include/mysql connect1.c -lmysqlclient -o connect1 connect1.c:4:19: 错误:mysql.h:没有那个文件或目录 提示是没有找到 mysq...