在C語言中,訪問 MySQL 數據庫需要使用 MySQL 提供的 C API。通過 C API 可以實現對數據庫的增刪改查等一系列操作。
當需要循環讀取數據庫中的多條數據時,我們可以使用一個循環來實現。下面是一個示例代碼:
#include#include int main() { MYSQL *connection; MYSQL_RES *result; MYSQL_ROW row; int num_fields; // 連接數據庫 connection = mysql_init(NULL); mysql_real_connect(connection, "localhost", "username", "password", "database", 0, NULL, 0); // 查詢數據 mysql_query(connection, "SELECT * FROM users"); result = mysql_store_result(connection); num_fields = mysql_num_fields(result); // 循環讀取數據 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(connection); return 0; }
在這個示例代碼中,我們首先通過mysql_init
函數初始化 MySQL 連接,并通過mysql_real_connect
函數連接到指定的數據庫。
然后使用mysql_query
函數執行 SQL 查詢語句,并通過mysql_store_result
函數獲取查詢結果。
在獲取結果后,我們可以通過mysql_num_fields
函數獲取結果集的列數,并使用mysql_fetch_row
函數逐行讀取結果集中的數據。在每一行數據讀取完成后,我們通過一個 for 循環逐列輸出數據。
最后,我們通過mysql_free_result
函數釋放結果集資源,并通過mysql_close
函數關閉數據庫連接。