连接数据库的几个API
1. MYSQL *mysql_init(MYSQL *mysql);
MYSQL *mysql_init(NULL);
为mysql_real_connect()分配或初始化一个MYSQL对象,若mysql 为NULL,函数为其分配,初始化并返回一个新对象. 否则对象被初始化并返回该对象的地址.
返回值:一个被初始化了的MYSQL *handle,若内存不足返回NULL.
2.int mysql_options(MYSQL *mysql,enum mysql_option,const void *arg)
为连接设置一些连接项,必须在mysql_init()之后,mysql_real_connect()之前使用这个函数. 具体各个参数详见百度百科
3.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 int client_flag);
参数的意思分别是已经初始化了的MYSQL对象,主机名,用户名,密码,数据库名,端口,unix_sock,client_flag; 在调用该函数之前,必须先调用mysql_init()初始化MYSQL结构体.
4.int mysql_query(MYSQL *mysql,const *stmt_str);
int mysql_real_query(MYSQL *mysql,unsigned long length);
mysql_query执行由stmt_str指向的SQL语句,不能执行包含二进制的SQL语句(字符”\0”是二进制数据),但mysql_real_query()指定以分号分隔的多个SQL语句. 也可以调用mysql_real_connect()或mysql_set_server_option()指定以分号分隔的多个SQL语句.
返回值:SQL语句执行成功返回0,出错返回非0;
MYSQL_RES *mysql_use_result(MYSQL *mysql);
MYSQL_RES *mysql_store_result(MYSQL *mysql);
在调用mysql_query()或mysql_real_query()之后,必须调用mysql_free_result()释放结果集.初始化一个结果检索,但是并不像mysql_store_result()那样把结果集读到client,而是通过