时间:2021-07-01 10:21:17 帮助过:2人阅读
初始化MYSQL对象的指针.
MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)
初始化MYSQL对象以后进行连接数据库
参数:
MYSQL *mysql:上面初始化以后的MYSQL对象指针
const char *host:数据库的地址
const char *user:数据库登陆的用户名
const char *passwd:该用户的密码
const char *db:登陆的数据库名称
unsigned int port:端口号,根据host类型来决定,如果是本地的则为0
const char *unix_socket:网络类型,本地为NULL
unsigned long client_flag:连接属性,通常为0.
以下是client_flag的取值:
const char *mysql_error(MYSQL *mysql)
输出错误信息
int mysql_query(MYSQL *mysql, const char *stmt_str)
用于执行sql语句,第二个参数就是sql语句,语句中不能以";"结尾,如果是多条语句用分号隔开.
返回值:
成功:0
错误返回错误码
可以使用mysql_error()函数查看错误详情
MYSQL_RES *mysql_use_result(MYSQL *mysql)
返回查询结果
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
读取结果集中的下一行数据,返回为NULL时表示所有的数据经读取完了
unsigned int mysql_num_fields(MYSQL_RES *result)
返回结果集的行数
void mysql_close(MYSQL *mysql)
关闭连接,释放空间
void mysql_free_result(MYSQL_RES *result)
释放结果集的空间
更多的函数可以查看官方文档,写的非常的详细
简单的代码
/**我觉得这个代码够简单了,所以就不写注释了*/ #include <mysql.h> #include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]){ MYSQL *conn = NULL; MYSQL_RES *res = NULL; MYSQL_ROW row = NULL; char server_addr[] = "localhost"; char user[] = "root"; char password[] = "123"; char database[] = "test"; conn = mysql_init(NULL); mysql_real_connect(conn,server_addr,user,password,database,0,NULL,0); if(conn == NULL){ perror(mysql_error(conn)); exit(1); } if(mysql_query(conn,"show tables")){ perror(mysql_error(conn)); exit(1); } res = mysql_use_result(conn); while( ( row = mysql_fetch_row(res) ) != NULL ){ printf("%s\n",row[0]); } mysql_free_result(res); mysql_close(conn); return 0; }
mysql编程
标签: