欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c mysql數據庫登錄功能

傅智翔2年前11瀏覽0評論

對于很多需要數據庫支持的應用,提供登錄功能是必不可少的。下面我將介紹如何使用C語言和MySQL數據庫實現登錄功能。

首先需要用到MYSQL C API,這是C語言操作MySQL的API庫。下載地址:https://dev.mysql.com/downloads/connector/c/

接下來是實現代碼:

#include#include#includeint main()
{
MYSQL db;
mysql_init(&db); //初始化數據庫
if(mysql_real_connect(&db, "localhost", "root", "password", "test", 0, NULL, 0)) //連接數據庫
{
printf("MySQL database connected.\n");
char username[20];
char password[20];
printf("Enter your username: ");
scanf("%s", username); //獲取輸入的用戶名
printf("Enter your password: ");
scanf("%s", password); //獲取輸入的密碼
char query[100];
sprintf(query, "SELECT * FROM users WHERE username='%s' AND password='%s'", username, password); //查詢用戶表中是否存在輸入的用戶名和密碼
if(mysql_query(&db, query) == 0) //查詢成功
{
MYSQL_RES *result = mysql_store_result(&db);
int num_fields = mysql_num_fields(result);
MYSQL_ROW row;
if(num_fields >0 && (row = mysql_fetch_row(result)))
{
printf("Welcome, %s!\n", row[1]); //輸出歡迎信息
}
else
{
printf("Invalid username or password.\n"); //用戶名或密碼錯誤
}
mysql_free_result(result); //釋放結果集
}
else //查詢失敗
{
printf("Query failed: %s\n", mysql_error(&db));
}
mysql_close(&db); //關閉數據庫連接
}
else //連接失敗
{
printf("MySQL database connection failed: %s\n", mysql_error(&db));
}
return 0;
}

需要注意的幾點:

  • 連接數據庫時需要填寫主機名、用戶名、密碼和數據庫名。
  • 查詢語句中使用%s來代替輸入的用戶名和密碼。如果不轉義查詢語句中的特殊字符,可能會導致SQL注入攻擊。
  • 查詢成功后,使用mysql_fetch_row()函數獲取結果集中的一行數據。這里假設用戶表中有id、username和password三個字段,因此$row[1]代表用戶名。

以上就是使用C語言和MySQL數據庫實現簡單登錄功能的全部內容。