在C語(yǔ)言開(kāi)發(fā)過(guò)程中,連接MySQL數(shù)據(jù)庫(kù)是一項(xiàng)非常常見(jiàn)的任務(wù)。這里我們介紹如何使用C語(yǔ)言鏈接到MySQL數(shù)據(jù)庫(kù)。
#include <mysql/mysql.h> #include <stdio.h> int main() { MYSQL mysql; MYSQL_RES *result; MYSQL_ROW row; int query_state; mysql_init(&mysql); mysql_real_connect(&mysql, "localhost", "root", "password", "database_name", 3306, NULL, 0); query_state = mysql_query(&mysql, "SELECT * FROM table_name"); if (query_state != 0) { printf("Query Error: %s\n", mysql_error(&mysql)); return 1; } result = mysql_store_result(&mysql); while ((row = mysql_fetch_row(result)) != NULL) { printf("%s\n", row[0]); } mysql_free_result(result); mysql_close(&mysql); return 0; }
以上代碼演示了如何連接到MySQL數(shù)據(jù)庫(kù),并查詢(xún)數(shù)據(jù)庫(kù)中的某個(gè)表。需要注意的是,在使用該代碼前,需要先安裝MySQL C語(yǔ)言客戶(hù)端庫(kù)。
連接到MySQL數(shù)據(jù)庫(kù)的過(guò)程大概如下:
- 使用 mysql_init 函數(shù)初始化連接句柄
- 使用 mysql_real_connect 函數(shù)連接到MySQL服務(wù)器
- 使用 mysql_query 函數(shù)執(zhí)行SQL語(yǔ)句
- 使用 mysql_store_result 函數(shù)存儲(chǔ)查詢(xún)結(jié)果
- 使用 mysql_fetch_row 函數(shù)依次獲取查詢(xún)結(jié)果的每一行
- 使用 mysql_free_result 函數(shù)釋放內(nèi)存
- 使用 mysql_close 函數(shù)關(guān)閉連接句柄
在代碼中需要注意的是,需要將數(shù)據(jù)庫(kù)連接信息替換為自己的信息,同時(shí)需要注意調(diào)用函數(shù)的正確順序和錯(cuò)誤處理。