在C語言中,連接MySQL數據庫并返回數據庫名是一個很常見的需求。下面是一段示例代碼:
#include <stdio.h> #include <mysql/mysql.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "password"; char *database = "mydatabase"; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); return 1; } if (mysql_query(conn, "SELECT DATABASE()")) { fprintf(stderr, "%s\n", mysql_error(conn)); return 1; } res = mysql_use_result(conn); while ((row = mysql_fetch_row(res)) != NULL) { printf("Database name: %s\n", row[0]); } mysql_free_result(res); mysql_close(conn); return 0; }
代碼中首先使用mysql_init()函數初始化一個MySQL對象,然后使用mysql_real_connect()函數連接至數據庫。連接成功后,使用mysql_query()函數發送一個查詢字符串“SELECT DATABASE()”,該查詢會返回當前使用的數據庫名。使用mysql_use_result()函數獲取結果集,然后使用mysql_fetch_row()函數依次取出結果集中的每一行。
最后,記得要使用mysql_free_result()函數釋放結果集占用的空間,并使用mysql_close()函數關閉數據庫的連接。