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;
}

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...