c# - Parameters.AddWithValue 不会替换我的值

标签 c# sql

尝试运行 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";

关于c# - Parameters.AddWithValue 不会替换我的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33015172/

相关文章:

mysql - SELECT 关键字位置错误

sql - 多个 INSERT INTO 语句在 dbeaver 中不起作用

c# - Redis 与应用内缓存

c# - 使用 Entity Framework 将项目添加到集合

c# - 如何以编程方式访问 EntityDataSource 选定的数据

sql - 存储密码哈希 - varchar 与 varbinary

c# - 在 Silverlight 中打开文件夹对话框?

c# - CommandText 属性未正确初始化 (MySqlDataReader)

java - 如何检查结果集是否为空

sql - 为什么我的查询不使用我的条件?