我试图获取我的帐户表的行数,以便我可以登录帐户,但
MySQL参数不添加值.
这是我的代码:
public int MyMethod(string username,string password) { int count = 0; string query = "SELECT * FROM accounts WHERE username = '?user' AND password = '?pass' LIMIT 1;"; using (MysqLCommand cmd = new MysqLCommand(query,connector)) { cmd.Parameters.Add(new MysqLParameter("?user",username)); cmd.Parameters.Add(new MysqLParameter("?pass",password)); count = int.Parse(cmd.ExecuteScalar().ToString()); } return count; }
解决方法
参数占位符不应该用单引号括起来,因为它会强制它成为值而不是参数,试试这个,
public int MyMethod(string username,string password) { int count = 0; string query = "SELECT * FROM accounts WHERE username = @user AND password = @pass LIMIT 1;"; using (MysqLCommand cmd = new MysqLCommand(query,connector)) { cmd.Parameters.Add(new MysqLParameter("@user",username)); cmd.Parameters.Add(new MysqLParameter("@pass ",password)); connector.open(); // don't forget to open the connection count = int.Parse(cmd.ExecuteScalar().ToString()); } return count; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。