欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c訪問mysql數據庫代碼

黃文隆2年前11瀏覽0評論

MySQL是一種開源的關系型數據庫管理系統,它可以輕松地存儲和管理大量數據。在C語言中,訪問MySQL數據庫通常使用MYSQL C API。以下是一個簡單的例子,演示了如何使用C語言從MySQL數據庫中讀取數據。

#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
void finish_with_error(MYSQL *conn){
fprintf(stderr, "%s\n", mysql_error(conn));
mysql_close(conn);
exit(1);
}
int main(){
MYSQL *conn = mysql_init(NULL);
if(conn == NULL){
fprintf(stderr, "mysql_init() failed\n");
exit(1);
}
if(mysql_real_connect(conn, "localhost", "user", "password", "database", 0, NULL, 0) == NULL){
finish_with_error(conn);
}
if(mysql_query(conn, "SELECT * FROM table")){
finish_with_error(conn);
}
MYSQL_RES *result = mysql_store_result(conn);
if(result == NULL){
finish_with_error(conn);
}
int num_fields = mysql_num_fields(result);
MYSQL_ROW row;
while((row = mysql_fetch_row(result))){
for(int i = 0; i < num_fields; i++){
printf("%s ", row[i] ? row[i] : "NULL");
}
printf("\n");
}
mysql_free_result(result);
mysql_close(conn);
exit(0);
}

這段代碼首先使用mysql_init()函數初始化MySQL連接對象。然后,使用mysql_real_connect()函數連接到數據庫。如果連接失敗,它將調用finish_with_error()函數,該函數將向標準錯誤流中寫入錯誤信息并退出程序。接下來,使用mysql_query()函數執行SELECT語句。如果查詢失敗,它將再次調用finish_with_error()函數,否則將使用mysql_store_result()函數將結果保存到一個MYSQL_RES結構中。然后,使用mysql_num_fields()函數獲取結果中字段的數量,并使用mysql_fetch_row()函數逐行讀取結果集。最后,使用mysql_free_result()函數和mysql_close()函數釋放資源并關閉連接。