为什么我在C#WinForms到MySQL数据库的SELECT语句中出现此错误?

Joh*_*upe 0 c# mysql select

我收到此错误:

Unknown column 'admin' in 'where clause'
Run Code Online (Sandbox Code Playgroud)

这是我的登录按钮的代码:

        mycon.Open();
        string cmdstr = "SELECT * FROM usersettingsdb WHERE user_ID = " + textBox1.Text + "";
        cmd = new MySqlCommand(cmdstr, mycon);
        dr = cmd.ExecuteReader();
        string inputpw = "";
        string dbpw = "";
        while (dr.Read())
        {
            inputpw = maskedTextBox1.Text;
            dbpw = (dr["user_pw"].ToString());
        }
        dr.Close();
        mycon.Close();
Run Code Online (Sandbox Code Playgroud)

由于我的Select语句与我在网上看到的所有其他select语句相同,因此我无法理解为什么我会收到该错误

Raa*_*aab 7

将文本框值括在单引号中

 string cmdstr = "SELECT * FROM usersettingsdb WHERE user_ID = '" + textBox1.Text + "'";
Run Code Online (Sandbox Code Playgroud)

编辑:

由Tigran评论.使用参数化查询而不是仅连接控件中的值

  • 需要注意的重要事项:**永远不要**直接在SQL字符串中使用文本,**总是**使用参数. (6认同)