調(diào)用mysql數(shù)據(jù)庫(kù)API。
創(chuàng)新互聯(lián)2013年至今,先為吉州等服務(wù)建站,吉州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為吉州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
去官網(wǎng)下載mysql c API庫(kù)文件,然后安裝一下,每個(gè)調(diào)用數(shù)據(jù)庫(kù)的函數(shù)都有相關(guān)解釋?zhuān)苯訁⒄蘸瘮?shù)解釋進(jìn)行編程就行了。
注意編寫(xiě)makefile的時(shí)候把相關(guān)依賴(lài)庫(kù)加入
mysql是有c語(yǔ)言接口的,安裝相應(yīng)庫(kù)后就可以鏈接了,一般連接mysql的函數(shù)是mysql_connect或者mysql_real_connect(大概就是這么拼的吧。。。)可以使用mysql_query執(zhí)行sql語(yǔ)句
//vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路徑
//在工程設(shè)置-》鏈接》庫(kù)模塊中添加 libmysql.lib
#include stdio.h
#include time.h
#include string.h
#include winsock.h
#include "E:\wamp\bin\mysql\mysql5.5.8\include\mysql.h"
void main(){
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server ="localhost";
char *user ="root";
char *password="";
char *database="test";
char sql[1024]="select * from chinaren";
conn=mysql_init(NULL);
if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0)){
fprintf(stderr,"%s\n",mysql_error(conn));
exit(1);
}
if(mysql_query(conn,sql)){
fprintf(stderr,"%s\n",mysql_error(conn));
exit(1);
}
res=mysql_use_result(conn);
while((row = mysql_fetch_row(res))!=NULL){
printf("%s\n",row[2]);
}
mysql_free_result(res);
mysql_close(conn);
}
===============================
#if defined(_WIN32) || defined(_WIN64) //為了支持windows平臺(tái)上的編譯
#include windows.h
#endif
#include stdio.h
#include stdlib.h
#include "mysql.h"
//定義數(shù)據(jù)庫(kù)操作的宏,也可以不定義留著后面直接寫(xiě)進(jìn)代碼
#define SELECT_QUERY "show tables;"
int main(int argc, char **argv) //char **argv 相當(dāng)于 char *argv[]
{
MYSQL mysql,*handle; //定義數(shù)據(jù)庫(kù)連接的句柄,它被用于幾乎所有的MySQL函數(shù)
MYSQL_RES *result; //查詢(xún)結(jié)果集,結(jié)構(gòu)類(lèi)型
MYSQL_FIELD *field ; //包含字段信息的結(jié)構(gòu)
MYSQL_ROW row ; //存放一行查詢(xún)結(jié)果的字符串?dāng)?shù)組
char querysql[160]; //存放查詢(xún)sql語(yǔ)句字符串
//初始化
mysql_init(mysql);
//連接數(shù)據(jù)庫(kù)
if (!(handle = mysql_real_connect(mysql,"localhost","user","pwd","dbname",0,NULL,0))) {
fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(mysql));
}
sprintf(querysql,SELECT_QUERY,atoi(argv[1]));
//查詢(xún)數(shù)據(jù)庫(kù)
if(mysql_query(handle,querysql)) {
fprintf(stderr,"Query failed (%s)\n",mysql_error(handle));
}
//存儲(chǔ)結(jié)果集
if (!(result=mysql_store_result(handle))) {
fprintf(stderr,"Couldn't get result from %s\n", mysql_error(handle));
}
printf("number of fields returned: %d\n",mysql_num_fields(result));
//讀取結(jié)果集的內(nèi)容
while (row = mysql_fetch_row(result)) {
printf("table: %s\n",(((row[0]==NULL)(!strlen(row[0]))) ? "NULL" : row[0]) ) ;
}
//釋放結(jié)果集
mysql_free_result(result);
//關(guān)閉數(shù)據(jù)庫(kù)連接
mysql_close(handle);
system("PAUSE");
//為了兼容大部分的編譯器加入此行
return 0;
}