问题标签 [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.

0 投票
2 回答
317 浏览

php - MySQL 参数化查询 - 缓存持续时间

可能重复:
准备好的语句是否使用 PHP 跨多个页面加载在服务器端缓存?

我正在开发一个新项目并第一次使用参数化查询(PHP 和 MySQL DB)。我读到他们参数化的查询被缓存了,但我想知道它们被缓存了多长时间。例如,假设我有一个函数“getAllUsers()”,它从用户表中获取所有活动用户 ID 的列表,并且对于每个 ID,创建一个用户对象并且对函数“getUser($user)”的调用是用于设置对象的其他属性。'getUser()' 函数有它自己准备好的查询,函数末尾有一个 stmt->close()。

如果我这样做,我在“getUser()”中的参数化查询是否完全利用了缓存,或者在每个 stmt->close() 之后查询是否从缓存中销毁?

注意:如果页面只需要单个用户对象的数据,我也会使用 getUser() 函数,所以我想这样做以确保如果用户表发生更改,我只需要更新一个查询。

这是做这样的事情的正确方法还是有更好的方法?

更新:有趣,刚刚在 php.net 的准备语句手册上看到了这个(http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

使用准备好的语句并不总是执行语句的最有效方式。只执行一次的准备好的语句比未准备的语句会导致更多的客户端-服务器往返。

所以我想参数化查询的主要好处是防止 SQL 注入,而不一定要加快速度,除非它是一次重复的查询。

0 投票
1 回答
449 浏览

ms-access - ms-access + vb6:没有存储查询的参数化查询

我想知道在 ms-access through vb6 (ADODB) 中是否可以享受参数化查询的安全优势

不使用存储过程。所以有类似的东西:

代替

0 投票
1 回答
249 浏览

c# - 如何将表名和选定字段作为参数传递

我收到以下错误:

错误:-201 消息:[Informix .NET 提供程序][Informix]出现语法错误。

当我尝试执行此代码时:

0 投票
1 回答
840 浏览

c# - Access SQL表达式中如何处理字符串变量中的单引号或双引号

我用c#写了这行来操作microsoft access数据库

resxValue 并且resxKey 都是字符串变量。

当两个字符串变量很简单时,例如“abc”,“xyz”,一切正常,但是当一个字符串变量变得复杂时,在我的情况下,像这样:

提示:

  1. 要修复费率计划和 rpt 错误,请使用“重新处理”

  2. 要修复运营商、中继组、交易员错误,请使用“删除并重新插入”

程序抛出一个错误,当我进行调试时,sComm.CommandText 是这种形式:

更新 TableToBeImport 设置 TextDefault = 'TIPS: \r\n1. 要修复速率计划和 rpt 错误,请使用“重新处理”\r\n2。要修复运营商、中继组、贸易商错误,请使用“删除并重新插入” WHERE Con​​trolName = 'frmCDRQuery.label7.Text'

我知道在 c# 中,我可以@在字符串变量之前使用,因此其中的任何转义字符都将被忽略。但是在访问中,我怎样才能得到相同的结果?

0 投票
4 回答
876 浏览

asp.net - 防止asp.net中的sql注入

我有以下身份验证方法:

这足以防止sql注入吗?我以前只是将用户名和密码直接输入到命令中,如下所示:

其中 username 和 pwd 仅在其中存储用户名和密码文本框内容的字符串变量...

编辑:

好的,我已经编辑了我的代码,现在看起来像这样:

这是我的存储过程:

这足够了吗?我的 Web 应用程序会不会受到 sql 感染的影响,或者还有什么事情要做吗?

0 投票
2 回答
2025 浏览

sql - VB.Net 更新不更新我的数据库

这是我要运行的代码。它会正常运行,但不会更新我的数据库。

当它没有参数化时它会起作用,但是当我在其中添加参数时它开始起作用。这是有问题的代码。

我几乎可以肯定语法是正确的,因为我的插入有效。这是我插入的代码。

我知道 where 子句是正确的,我对值进行了硬编码,我还将值与消息框进行比较,并将它们直接与数据库中的信息进行比较。

提前感谢任何和所有的意见,我希望我们能弄清楚。

0 投票
3 回答
1529 浏览

sql - Unable to select values when using a parameter for the column name

When I run the code, it returns with a result of "SystemNavn" (which is the name of the column in the table), instead of the value of that column in the current row. What am I doing wrong?

0 投票
2 回答
421 浏览

c# - 转换的日期时间问题。参数化查询不接受日期时间值

我有这个功能ExecuteSqlParameterizedQuery,下面是我的查询:

  1. MyDateTimeDateTime数据类型。
  2. MyBirthdayDateTime数据类型。

这是我的功能:

这向我展示了这个特殊的错误:the conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value. the statement has been terminated.

我试图找到问题,但无法理解如何对我的代码进行更改以纠正问题。

编辑:

我也有这个作为我的日期时间界面:

日期时间声明是这样的:

0 投票
3 回答
17025 浏览

c# - 如何通过参数化查询在数据库中插入空值

我有一个datetime数据类型:dttm

数据库字段类型也是datatime

现在我正在这样做:

如何才能做到这一点。

0 投票
1 回答
167 浏览

asp.net - ASP.NET 如何从参数化 SQL 查询中删除双引号?

我似乎不工作,因为当我使用参数化 SQL 查询时也会插入双引号。如何删除双引号?

cmd.Parameters.AddWithValue("@SORT", (rdbAscending.Checked) ? "ASC" : "DESC");