【发布时间】:2019-12-08 02:18:24
【问题描述】:
我正在用 C# 创建一个登录表单。当我运行它时,我在MySqlDataReader dr = com.ExecuteReader(); 得到一个错误@
错误:(MySql.Data.MySqlClient.MySqlException:'您的 SQL 语法有错误;请检查在第 1 行的“登录”附近使用的正确语法)。
我找不到 SQL 语法有什么问题。有人可以帮帮我吗?
代码:
private void BtLogin_Click(object sender, RoutedEventArgs e)
{
MySqlConnection con = new MySqlConnection();
MySqlCommand com = new MySqlCommand();
con.ConnectionString = @"server=;user id=;persistsecurityinfo=True;database=myadministration;password=";
con.Open();
com.Connection = con;
com.CommandText = "select * login";
MySqlDataReader dr = com.ExecuteReader();
if (dr.Read())
{
if (TbUsername.Text.Equals(dr["user"].ToString()) && PbPswd.Password.Equals(dr["paswd"].ToString()))
{
MessageBox.Show("Welcome!");
}
}
con.Close();
}
【问题讨论】:
-
这不是如何进行登录检查。存储原始密码非常糟糕,甚至不应该用于测试/学习/概念验证代码。即使加密也不够好。相反,您必须使用加密(而不是 md5)哈希。当有人尝试登录时,您对尝试的密码使用相同的哈希过程,然后比较哈希。