问题标签 [sql-parametrized-query]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 为什么使用参数化查询或实体框架会阻止 sql 注入?
我很好地掌握了 SQL 注入。当一个 SQL 查询应该类似于
变成像这样的查询
当用户将恶意值插入您的应用程序、网站、客户端等时。我还知道,攻击者不仅可以删除数据库,还可以尝试发现表的名称并从中获取信息。
我也知道一些有助于防止这种情况的事情是:
- 使用带参数的存储过程(SQL Server)
- 使用参数化 SQL 查询
- 使用实体框架/LINQ to Entities(C#,也许是 F#?)
这些东西实际上是如何防止 SQL 注入发生的呢?为什么攻击者不能将相同的恶意值传递到他或她已经使用的任何输入中并获得相同的结果。
php - 参数化查询未知总参数
我正在使用 safemysql 类进行参数化查询https://github.com/colshrapnel/safemysql。通常,在准备查询时,它是这样的:
这种我事先知道要解析的参数总数的查询是非常直接的,但似乎我堆积在我不知道我将使用多少参数的查询中 - 例如。搜索表格:
我想做的是参数化以下查询:
有什么建议么?
sql - 如何在 MS-Access 的参数化查询中使用带通配符的 LIKE 运算符
我正在使用 MS Access 数据库,我需要在其中传递参数化的查询。实际上 MS Access 以这种格式使用 like ... LIKE ' [par1] ' {par1 is a parameter in ms-access-query} 所以我需要一种方法来使用带通配符支持的参数化类似查询。例如,如果用户为 par1 输入 325,则条件中的 sql-command 文本为 ... WHERE field1 Like "*325*"
c# - ORA-01006 执行插入时
以下ExecuteNonQuery
返回 sql 错误:ORA-01006: bind variable does not exist
. 我检查了查询中定义的所有绑定参数,那么问题是什么?
受影响的表:
sqlparameter - 将参数传递给存储过程
我想向这个存储过程传递一个参数:
这是.net代码
我收到以下错误:此参数不包含带有 ParameterName '@ProjectNumber' 的 SqlParameter
sql - t-sql 中的参数化查询
我收到以下错误
“@columnCount”附近的语法不正确。
有什么问题?
如果我改为
我收到以下错误
必须声明表变量“@tableName”。
我从 C# 运行它
c# - 解析参数化查询 C# 时出错
尝试解析参数化查询时,我不断收到错误消息。错误:错误中的令牌 = @tableName
似乎变量一切正常,尝试传递字符串仍然相同。
编辑1:
是的,这可能是查询数据库的错误方式。例如,如果您需要在运行时的不同时间访问不同的表,那么最合适的方法是什么。我的意思是访问数据库的类的体系结构。
我正在尝试使用它在不同的运行时访问两个表。我只是传递这三个变量并返回输出。
PS如果我违反规则道歉。
编辑2:
对不起,如果我没有说清楚,但我的问题是。
在运行应用程序时,哪种架构(如果我可以称之为)更适合在不同时间访问不同的数据库表?我的意思是你的解决方案是什么?是好是坏等等。
oracle - 具有相同参数名称的 MVC 原始查询和参数化
将 EF 5.0 与 Oracle.Data.Client 一起使用。尝试执行行参数化查询。
如何使用原始查询在 mvc 中绑定具有相同参数名称的多个参数?
实体 -> MVC 模型数据库实例。
例如
要么我收到: - 并非所有变量都绑定。然后我尝试了单独的参数名称但没有帮助 NVL(column_1, :p0) = :p1
提前致谢!
c# - 实体框架 SQL 查询不使用 SQL 参数
我有一个原始 SQL 查询,我正在尝试与 SqlParameters 一起使用。当我不安全地创建查询(使用字符串连接)时,它工作正常......我得到了结果。在这种情况下,我得到 10。
当我尝试使用 SQL 参数时,我得到零记录。我尝试使用和不使用 @ 创建参数,尝试在调用中单独添加它们Query
,并且尝试使用对象参数而不是 Sql 参数。我什至尝试过只使用一个....无论我做什么,我似乎都无法使用 SQL 参数获得结果,只能使用字符串连接。
实体框架 SQL 查询如何与 SQL 参数一起使用,为什么我使用的查询不起作用?
示例代码:
mysql - 如何使用来自 Texbox 的参数化值从 Visual Basic .net 在 Mysql 中设置变量
我有这个存储过程并且工作得很好,但我需要从 Visual Basic .net 传递变量“@item”,代码使用直接查询工作,但它是混乱和不安全的,我需要参数化,从文本框中发送值。
Visual Basic 代码提取