Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Parameters.AddWithValue不会替换我的值_C#_Sql - Fatal编程技术网

C# Parameters.AddWithValue不会替换我的值

C# Parameters.AddWithValue不会替换我的值,c#,sql,C#,Sql,尝试运行SQL查询时,我被告知使用参数来避免SQLInjection。所以我在玩参数化查询。但事情进展得不太好 这是我的代码: using (_cmd = _connection.CreateCommand()) { _connection.Open(); _cmd.CommandText = "SELECT * FROM `users` WHERE `username`= '@username'"; _cmd.Parameters.AddWithValue("@user

尝试运行SQL查询时,我被告知使用参数来避免SQLInjection。所以我在玩参数化查询。但事情进展得不太好

这是我的代码:

using (_cmd = _connection.CreateCommand())
{
    _connection.Open();
    _cmd.CommandText = "SELECT * FROM `users` WHERE `username`= '@username'";
    _cmd.Parameters.AddWithValue("@username", _username);
}

据我所知,@username将替换为我的用户名字段。但事实并非如此,我不确定自己做错了什么

您已在查询中将参数转换为字符串文字

从大约
@username
中删除撇号:

_cmd.CommandText = "SELECT * FROM `users` WHERE `username`= @username";
_cmd.CommandText = "SELECT * FROM `users` WHERE `username`= @username";

您已经在查询中将参数转换为字符串文字

从大约
@username
中删除撇号:

_cmd.CommandText = "SELECT * FROM `users` WHERE `username`= @username";
_cmd.CommandText = "SELECT * FROM `users` WHERE `username`= @username";

删除
'@username'
中的引号,否则它将被视为字符串文字


删除
'@username'
中的引号,否则它将被视为字符串文字