在C語言中,我們可以使用MySQL官方提供的C API來和MySQL數據庫進行交互。其中,real connect函數是用來建立數據庫連接的。
MYSQL *mysql_init(MYSQL *mysql)
這個函數用來初始化一個MYSQL結構體,用于存儲將要建立的數據庫連接的參數。參數mysql是用來存儲這個結構體的指針,可以傳遞一個空指針以使得函數返回一個新的MYSQL結構體。
MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag);
這個函數用來建立一個數據庫連接,并返回一個MYSQL結構體的指針。參數mysql是一個MYSQL結構體的指針,是由mysql_init函數初始化得到的。參數host是一個字符串,用來指定MySQL服務器的地址。參數user和passwd分別是字符串類型的用戶名和密碼,用于登錄MySQL數據庫。參數db是一個字符串,用來指定連接的數據庫名稱。如果不想在建立連接的時候指定一個數據庫,可以將db設為NULL。參數port是一個整型數值,用來指定MySQL服務器的端口號。參數unix_socket是一個字符串,用來指定Unix域套接字文件路徑。參數clientflag是一個無符號長整型,用于指定連接的一些選項,比如加密連接等等。
需要注意的是,如果在使用完連接之后不再需要,一定要通過下面這個函數來釋放占用的資源,避免引起內存泄漏。
void mysql_close(MYSQL *mysql)