问题标签 [parameterized-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.
prepared-statement - 缺少sql注入攻击有错误吗?
如果我们使用准备好的语句或参数化查询等最安全的方式执行查询来防止SQL注入攻击,是否可以保证执行时不会发生任何数据库错误?例如,在插入记录时为给定类型发送无效参数,导致错误而不是使用默认值。你能举个例子吗?
php - SQL 注入 PHP:我是否需要使用参数化查询验证用户输入?
例如,我有这个输入:
姓名:沃利
电子邮件:wallycat@example.com'; 删除表客户端表;打印“太糟糕了!”--
我的参数化查询是:
即使我使用这个参数化查询,我是否需要验证用户输入?(在这种情况下,电子邮件字段)
或者,因为我使用的是参数化查询,所以已经安全了,并且查询将简单地存储所有这些:'wallycat@example.com'; 删除表客户端表;在数据库中打印'太糟糕了!'--'?
谢谢!
sql - 参数化 SQL 的性能
我有一个像这样的查询
值“XYZ”由用户输入(可能包括 % 和 _)
如果我使用字符串连接构造查询,它将在 10 秒内运行。但这是不安全的,我应该使用参数化查询。
所以我正在使用 odbc 命令对象及其执行方法构造查询,并传递一个参数。
不幸的是,参数化的 SQL 执行方法需要整整一分钟。
此查询是作为向下钻取/调查包的一部分的众多查询之一,并且所有参数化查询(与字符串连接相比)都有类似的减速。
我如何找出时间的去向(并修复它)?
c# - 试图创建一个有点通用的查询方法
我不仅想用参数替换存储在列中的值,还想用表名、列名等替换,所以我尝试了这个:
...但是得到,"ORA-00903 invalid table name"
因此,我尝试以 C# 方式进行操作:
...但那也失败了,事实上,"ORA-00904 "WHYAMINOTQUOTINGTHEDOT"."EXE": invalid identifier"
我是在吠叫错误的树,还是只是用错误的方法给猫切片?
在过去(Delphi)
,您可以通过将字符串封装在类似QueryStr()
. 是否有类似的辅助功能C#/Oracle
?
sql - 参数化查询在 VB 中不起作用
我之前试图通过简单地将文本框值直接连接到 SQL 中来做到这一点,我得到一个“没有为所需参数提供值”,并读到我应该使用参数化查询。所以我尝试了这个,它没有给我任何错误,但读者从来没有任何错误。我以前从未使用过参数化查询,所以我有点不知道为什么这不起作用。
编辑:我已经更改了上面的代码,以根据我简要阅读的关于它应该如何工作的内容来解释 OLEDB,它再次给了我“没有为所需参数提供值”。
sql - Ruby on Rails:基本的参数化查询和 URL 形成
我正在尝试学习如何查询 Rails 数据库并将结果作为 JSON 返回。在我的示例中,我想使用参数城市和州查询数据。
到目前为止,在我的控制器中,我已经完成了以下操作。
这也是我的路由条目。
我可以使用以下 URL 调用此资源:
这一切都很好,但我不知道如何通过多个参数进行查询。在控制器中添加 AND 子句似乎很容易。
但是....我不知道该怎么做
a.) 正确编写路由条目?b.) 如果我在浏览器中测试 URL 会是什么样子?
我试图了解 rake 路线,但我一定遗漏了一些东西。
有人可以提供一个基本示例来说明该操作应该是什么样子吗?路由条目应该是什么样的,访问资源的 URL 是什么样的?
同样,如果用 SQL 编写,这就是我想要返回的内容。
任何帮助表示赞赏。
c# - 如果查询未参数化,如何在查询中传递对象(字节数组)?
我有这个查询要运行:
在上面的代码中,如何将值传递x, y, z etc
给查询本身?x, y, z etc
不是整数或字符串,而是字节数组。在我的代码中,它们是 .net Guid 字段,但我通过将其转换为字节数组将其作为二进制值保存在 db 中。
我可以通过以参数化方式执行此操作来实现我想要的,如下所示:
第二种方法的问题是它相对慢得多。这里不仅查询必须多次运行到数据库,而且每次我都需要通过运行此IsThisEntryAlreadyAdded
函数来确保该特定条目是否尚未添加。
我的问题是如何在非参数化查询中传递对象(在我的情况下是字节数组)?如果不可能,我的问题是有没有其他方法可以让我的查询更快?
asp.net - asp.net C#中的参数化顶部子句查询
我想在 C# 中使用顶部子句查询
我正在获取对象引用未设置为行中的对象实例
谢谢,
c# - C# 参数化查询中占位符的正确方式
一切正常,但这只是为了知道正确的做法/正确的方法/什么是有意义的
说我有代码:
对于其余部分,以下哪项是正确的?:
或者
或者
(我知道它不是第三个)第二个在我看来是正确的。这一切都取决于 SQL 如何从代码中实际解释参数化参数。有什么想法吗?我特别问,因为我不喜欢一个知识渊博的人嘲笑我在编码方面的不良习惯,如果这里有的话:)
更新:据我所知,即使 msdn 也没有遵循这里的约定,第一个和第二个都被使用。我将坚持第一个明确的。谢谢
sql - SQL - OleDbCommand 不更改 Sql 参数
下面是我的 Select * Function 的代码 - 它运行良好并且一切正常,直到我将 SQL 字符串从Select *
From Company更改为
然后执行以下操作
DBMS 不断发回“查询不完整” - 我假设Command
变量正在发送字符串query
而不将参数从更改@1
为Company
这是一段代码(我的),它确实有效。这是一个插入语句,而不是一个选择 - 如果我错了,请纠正我,但它也不能与 SELECT 一起使用
`