修改密码无效
本文关键字:无效 密码 修改 | 更新日期: 2023-09-27 17:53:38
我有一个网页,用户输入他们当前的用户名和密码。如果它们与数据库中的用户匹配,则密码将更改为新密码。
如果没有错误且修改了密码,则将用户重定向到初始登录页面。如果出现错误,则会出现错误消息。
然而,此时密码没有更改,当应该有错误时,即当密码没有更改时,它只是将用户重定向到登录页面。
我代码:public static MySqlConnection CreateConnection()
{
String connectionString = "SERVER=127.0.0.1; DATABASE='dbnumericalmethods'; UID='root'; PASSWORD=''";
MySqlConnection SqlConnection = new MySqlConnection(connectionString);
return SqlConnection;
}
protected void btnChange_Click(object sender, EventArgs e)
{
MySqlConnection SqlConnection = CreateConnection();
string OldPassword;
string NewPassword;
string Username;
string ConfirmPassword;
Username = txtUsername2.Text;
OldPassword = txtOldPassword.Text;
NewPassword = txtNewPassword.Text;
ConfirmPassword = txtConfirmPassword.Text;
string SqlString = "update tblLogin set Identification='" + NewPassword + "' WHERE [Identification]='" + OldPassword + "' AND Username='" + Username + "'";
SqlConnection.Open();
MySqlCommand cmd = new MySqlCommand(SqlString, SqlConnection);
SqlConnection.Close();
if (OldPassword != "" && NewPassword != "" && ConfirmPassword != "")
{
Response.Redirect("Login.aspx");
}
else
{
lblErrorMessage2.Text = ("Username ");
}
}
您甚至没有执行命令,您只是打开连接,创建MySqlCommand
然后立即关闭连接:
MySqlCommand cmd = new MySqlCommand(SqlString, SqlConnection);
int result = cmd.ExecuteNonQuery();
SqlConnection.Close();
顺便说一句,您应该使用参数化查询来避免SQL Injection
。