微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – MySQL参数不添加值

我试图获取我的帐户表的行数,以便我可以登录帐户,但 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 举报,一经查实,本站将立刻删除。

相关推荐