C語言作為一門廣泛應用于系統(tǒng)編程、嵌入式開發(fā)、各種網(wǎng)絡協(xié)議等領(lǐng)域的編程語言,在訪問數(shù)據(jù)庫方面也有著廣泛的應用。其中,常用的數(shù)據(jù)庫之一是MySQL,下面我們來看一下如何使用C語言訪問MySQL數(shù)據(jù)庫。
#include#include int main() { MYSQL *conn_ptr; MYSQL_RES *res_ptr; MYSQL_ROW sqlrow; int ret; // 初始化MySQL連接 conn_ptr = mysql_init(NULL); if (!conn_ptr) { fprintf(stderr, "mysql_init failed!\n"); return 1; } // 建立MySQL連接 conn_ptr = mysql_real_connect(conn_ptr, "localhost", "root", "123456", "testdb", 0, NULL, 0); if (conn_ptr) { printf("Connection success!\n"); // 執(zhí)行SQL語句 ret = mysql_query(conn_ptr, "SELECT * FROM students"); if (ret) { fprintf(stderr, "Error %d: %s\n", mysql_errno(conn_ptr), mysql_error(conn_ptr)); } else { res_ptr = mysql_use_result(conn_ptr); if (res_ptr) { while ((sqlrow = mysql_fetch_row(res_ptr))) { printf("%s\n", sqlrow[0]); } } mysql_free_result(res_ptr); } // 關(guān)閉MySQL連接 mysql_close(conn_ptr); } else { fprintf(stderr, "Connection failed!\n"); if (mysql_errno(conn_ptr)) { fprintf(stderr, "Error %d: %s\n", mysql_errno(conn_ptr), mysql_error(conn_ptr)); } } return 0; }
上述代碼展示了如何使用MySQL C API在C語言中連接MySQL數(shù)據(jù)庫,并執(zhí)行一條查詢語句。其中,代碼首先通過mysql_init()函數(shù)初始化MySQL連接,然后通過mysql_real_connect()函數(shù)建立連接。接著,代碼通過mysql_query()函數(shù)執(zhí)行SQL語句,再通過mysql_use_result()函數(shù)獲取查詢結(jié)果,最后通過mysql_free_result()函數(shù)釋放查詢結(jié)果內(nèi)存。當然,在使用連接的過程中可能會出現(xiàn)錯誤,此時可以通過mysql_errno()和mysql_error()函數(shù)獲取錯誤信息進行處理。