chatGPT答: |
8v6.cn |
警告:以下代码仅供参考,不保证可用性。
登录注册代码:
#include <easyx.h>
#include <stdbool.h>
#include <mysql.h>
MYSQL *con;
void connection();
bool login(const char *username, const char *password);
void register(const char *username, const char *password);
int main()
{
MYSQL_RES *result;
MYSQL_ROW row;
char query[200], username[50], password[50];
// 连接 MySQL 服务器
connection();
// 用户登录
printf("username: ");
scanf("%s", username);
printf("password: ");
scanf("%s", password);
if( login(username,password) )
{
printf("登录成功!\n");
}
else
{
printf("登录失败!\n");
// 用户注册
register(username,password);
}
// 显示注册后的所有用户
strcpy(query, "select * from users");
if (mysql_query(con, query))
{
printf("查询失败: %s\n", mysql_error(con));
exit(1);
}
result = mysql_store_result(con);
while ((row = mysql_fetch_row(result)) != NULL)
{
printf("username: %s password: %s\n", row[0], row[1]);
}
mysql_free_result(result);
mysql_close(con);
return 0;
}
// 连接 MySQL 服务器
void connection()
{
con = mysql_init(NULL);
char host[50] = "localhost",user[50] = "root",
pass[50] = "123456789",database[50] = "mysql";
if( !mysql_real_connect(con, host, user, pass, database, 0, NULL, 0) )
{
printf("连接失败: %s\n", mysql_error(con));
exit(1);
}
else
{
printf("数据库连接成功!\n");
}
if(mysql_query(con, "select * from users") )
{
printf("查询失败: %s\n", mysql_error(con));
exit(1);
}
}
// 用户登录
bool login(const char *username, const char *password)
{
MYSQL_RES *result;
MYSQL_ROW row;
char query[200], db_username[50], db_password[50];
sprintf(query, "select * from users where username = '%s'", username);
if (mysql_query(con, query))
{
printf("查询失败: %s\n", mysql_error(con));
exit(1);
}
result = mysql_store_result(con);
if(mysql_num_rows(result) == 0) // 无此用户名
{
printf("无此用户名!\n");
return false;;
}
row = mysql_fetch_row(result);
strcpy(db_username, row[0]);
strcpy(db_password, row[1]);
mysql_free_result(result);
if(strcmp(db_username,username) == 0 && strcmp(db_password,password) == 0)
{
return true;
}
else
{
printf("用户名或密码错误!\n");
return false;
}
}
// 用户注册
void register(const char *username, const char *password)
{
char query[200];
sprintf(query, "insert into users values ('%s','%s')", username, password);
if (mysql_query(con, query))
{
printf("注册失败: %s\n", mysql_error(con));
exit(1);
}
else
{
printf("注册成功!\n");
}
}
|