问题标签 [sqlbindparameter]

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 投票
1 回答
789 浏览

c# - 如何在我的函数中防止 SQL 注入?

我正在做一个可以从数据库中添加和搜索人员的程序。所有功能现在都可以使用,但我想防止 SQL 注入。有任何想法吗?感谢您的帮助!

这是搜索功能:

这是添加功能:

当我尝试这个时,我得到 System.NullReferenceException。我已尝试修复它,但我找不到问题所说的与“电子邮件”有关的问题。

0 投票
1 回答
1870 浏览

sql - Oracle - 将字符串连接为列名

我正在尝试连接用作列名的字符串

我想做类似的事情:

其中 someVariable 是绑定变量,在双引号内不起作用。"ONE2018"(如果,该列应具有名称someVariable = 2018。)

我用单引号和 concat 函数尝试了它。它不起作用。有没有办法做到这一点?

编辑:从 littlefoots 的回答中得到灵感,我试过了

确实有输出

我不知道如何将其放入 PreparedStatement 中,但如果单独使用它,它可以工作并且可能对其他人有所帮助

0 投票
1 回答
229 浏览

python - 使用参数替换给出列名时 MySQL 语法错误

因此,我试图在 python 中创建一个 sql 语句,将具有特定名称的列添加到表中,但我得到了您在标题中看到的错误。

我目前正在使用此代码。

这应该在 my_table_name 中创建一个名为 note 的列,但它给了我这个错误:MySQLdb._exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''note' MEDIUMTEXT' at line 1")

希望有人能指出我做错了什么?谢谢。

编辑:我知道我应该使用普通的字符串插值。但是如果其他列已经在存储数据,我想继续添加列,例如 column1 然后 column2 然后 column3 。

0 投票
2 回答
326 浏览

db2 - IBM DB2 LUW BOOLEAN 和 CLI SQLBindParameter for NULL

IBM DB2 LUW 11.1.1.1 引入了 BOOLEAN SQL 数据类型。

使用 IBM CLI,我想通过使用 SQLBindParameter() 函数将 SQL 参数作为 NULL 传递以在具有 BOOLEAN 列的表中插入一行。

我使用与 MS ODBC SQL Server 和 SAP HANA ODBC 相同的 ODBC 调用、标志和缓冲区。

使用非 NULL 值时,我可以在 BOOLEAN 列中插入 TRUE/FALSE。

绑定时将 TRUE/FALSE 值插入我的 BOOLEAN col 可以正常工作:

  • 1/0 与 SQL_C_SHORT + SQL_SMALLINT

或者:

  • '1'/'0' 与 SQL_C_CHAR + SQL_CHAR

但是在将 StrLen_or_IndPtr 指标设置为 SQL_NULL_DATA 时,我在语句执行时收到以下错误:

[IBM][CLI Driver] CLI0164E 可空类型超出范围。SQLSTATE=HY099

我不明白为什么...

有什么线索吗?

这里有一些 SQL 来说明 BOOLEAN 类型在 DB2 中的用法:

谢谢!塞布

0 投票
1 回答
308 浏览

oracle - 将输入参数绑定到 PLSQL 游标中的 like 子句

我正在尝试使用输入参数编写一个 PLSQL 过程,该输入参数将分配给游标内的 like 子句。BUt 绑定无法正常工作。请帮我解决它。

0 投票
1 回答
284 浏览

jooq - 绑定 OffsetDateTime 时出错 [运算符不存在:带时区的时间戳 <= 字符变化]

我们正在尝试执行 dml,它根据 ZonedDateTime 删除记录。我们正在使用以下代码,但遇到了错误。

beforeDateZonedDateTime在哪里,objectName是字符串

我们从 postgres 收到以下错误。

问题是,我们如何在 Jooq 中绑定日期时间值?

0 投票
2 回答
155 浏览

php - “Limit”之后的多参数“bindParam”不能在php中工作?

我遇到了这个问题,找不到解决办法,有高手可以帮帮我吗?

似乎问题来自LIMIT之后的参数,因为如果我取消“LIMIT?OFFSET?” 代码可以与第一个参数 $postId 一起使用,将获取评论,

但是,如果我添加带有“限制?偏移?”的代码。在页面上不会获取任何评论,但也没有显示错误,

任何想法?。

谢谢。

0 投票
1 回答
523 浏览

c++ - 长度未知时如何在 SQL Server 中存储 varbinary(max) 和 varchar(max) 数据(使用 C++ ODBC)

如何使用 C++ ODBC API 存储varbinary(max)varchar(max)列。这里有什么建议吗?

我正在使用 SQL Server 本机客户端。

我正在使用按列绑定绑定参数数组。这里的目的是一次准备语句并一次插入/更新多行以提高性能。我从这个链接获得了一个示例代码, https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/binding-arrays-of-parameters?view=sql-server-ver15

还找到了这个链接,其中给出了 SQLPutData 的使用。 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlputdata-function?view=sql-server-ver15 但在此链接中,示例是使用SQL_LEN_DATA_AT_EXEC给出的,即列的长度在编译时间当数据长度未知之前或同一列的数据长度每行都发生变化时,解决方案应该是什么在这种情况下我们应该如何绑定这些列?

我尝试将SQL_SS_LENGTH_UNLIMITED作为columnsize 参数传递给SQLBindPatameter,但这甚至无法编译。

我还尝试将 0 作为 columnSize 参数传递给 SQLBindParameter,希望它能以某种方式工作,但这也不起作用。

我有一个名为“Parts”的表,其中 2 列中有 5 列,varchar(MAX)我正在尝试插入 3 行。下面是我的代码。我将TEXTSIZE 定义为 12000。由于我的示例应用程序数据长度不会超过 12000,因此我暂时使用此值。但在实际应用程序中,数据可能比这更大。

示例应用程序代码

如果我们对此有任何解决方案,请告诉我。

0 投票
1 回答
520 浏览

postgresql - PostgresSQL 中的参数嗅探/绑定窥视

PostgreSQL 中的PrepareExecute组合允许使用绑定参数。但是,Prepare 不会生成针对一组参数绑定优化的计划,该计划可以与一组不同的参数绑定一起重复使用。是否有人对实现此类功能有意见?有了这个,计划将针对给定的参数绑定集进行优化,但可以重用于另一组。该计划对于后续集可能效率不高,但如果使用新参数绑定重新计算计划成本,则可能会发现它是有效的。

读取和使用参数绑定值进行基数估计在 SQL Server 中称为“参数嗅探”,在 Oracle 中称为“绑定窥视”。基本上,有没有人在 PostgreSQL 中做过类似的事情。

谢谢,坎贝尔

0 投票
1 回答
1057 浏览

sql-injection - 为什么查询中的雪花变量绑定会抛出表名错误而不是整数?

我正在关注Snowflake Python Connector文档进行变量绑定以避免 SQL 注入。我使用以下凭据成功建立了一个数据库连接:

以下块工作正常,我得到查询结果,硬编码表名并使用标准format绑定:

同样,这个块工作正常,使用pyformat绑定:

但是以下两个块都导致ProgrammingError(粘贴在第二个块下方):

字符串和整数的插值方式有什么区别吗?我不认为这会有所作为,但这就是我能想到的。我在这里错过了一些简单的东西吗?我不想在硬编码表名和将系统置于 SQL 注入风险之间做出选择。感谢您的任何指导。