问题标签 [prepared-statement]

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 回答
575 浏览

php - mysqli_real_escape_string 和准备好的语句?

应该是一个足够简单的问题:

如果我使用 mysqli 准备好的语句,我还需要使用mysqli_real_escape_string()吗?

这是必要的,还是一个好主意?

谢谢,尼科

0 投票
3 回答
7192 浏览

mysql - 在存储过程中使用准备好的语句时是否应该释放?

在存储过程中使用准备好的语句时,是否应该在过程结束时释放它们,或者无关紧要,为什么?

一些代码来解释:

那么 - DEALLOCATE 语句是否应该存在?干杯!

/胜利者

0 投票
21 回答
187243 浏览

php - PDO Prepared 在单个查询中插入多行

我目前在 MySQL 上使用这种类型的 SQL 在一个查询中插入多行值:

在 PDO 上的阅读中,使用准备好的语句应该比静态查询给我更好的安全性。

因此,我想知道是否可以使用准备好的语句生成“通过使用一个查询插入多行值”。

如果是,我可以知道如何实施吗?

0 投票
2 回答
3894 浏览

iphone - 如何在 iPhone 中为 SQLite 编写准备好的语句

如何在 iPhone 中为 SQLite 编写准备好的语句?是否可以在使用 sqlite db 的 iPhone 应用程序中进行 SQL 注入?

0 投票
3 回答
7906 浏览

php - PHP/PostgreSQL:检查准备好的语句是否已经存在

我将准备好的声明创建为:

今天,我在两次声明具有相同名称的准备好的语句时遇到了一个问题(两次调用一个函数以表示错误):

那么,作为问题的标题,有一种方法可以检查是否已经存在具有相同标签的准备语句,如果存在,则覆盖它?

我知道这个错误来自我的错误,只需在代码开头声明准备好的语句即可解决,但我想知道是否有解决方案可以更好地控制它们。

编辑:

在 Milen 回答之后,很简单地检查准备好的语句是否已经在使用中,只需在数据库中查询表 pg_prepared_statements:

但是,我认为这不是一个好的解决方案,因为我每次都必须查询数据库。

好的,通常准备好的语句在脚本的开头声明,然后就可以重用,但是,我有一个连接良好的类,当我只使用其中的 3 个时,我不喜欢声明 10 个准备好的语句。

所以,我想我将使用一个简单的 PHP 数组来跟踪我创建的语句,然后使用isset()函数检查它是否存在或需要创建:

0 投票
2 回答
837 浏览

java - 准备好的语句失败

我正在使用一个准备好的语句,它应该(使用 SQL 和 JDBC)将数据插入到数据表中。我正在使用一个删除数据的工作正常,但插入一个没有将任何数据插入数据表并且不会产生错误或警告。什么可能导致准备好的语句以这种方式失败?将空值插入准备好的语句会导致这种情况吗?

0 投票
2 回答
332 浏览

java - 准备好的语句失败(带有错误消息!)

尝试将数据插入数据表时出现此错误

我查看了相应的数据表,不存在隐藏或未隐藏的名为 COUNT 的字段。这是我应该熟悉的一些 SQL 术语吗?

这个问题的扩展

0 投票
1 回答
683 浏览

sql - 如何获取 Java PreparedStatement.executeQuery(..) 的状态

我有一个使用这样的东西运行的 SQL 查询:

当我使用本地数据库时它工作得很好,但是我必须在这个远程数据库上进行测试,因为它有更多的数据。但由于它是遥远的,它需要永远。

我很好奇是否有办法获取状态或在特定时间后查询了多少行。只是为了能够看到这些东西实际上正在工作,而我并没有浪费时间看像素。你知道,像“好的,到目前为止我们有 300 行,还有 400 行”。这样的事情甚至存在吗?

0 投票
7 回答
30671 浏览

java - 使用预处理语句设置表名

我正在尝试使用准备好的语句来设置表名以从中选择数据,但是在执行查询时我不断收到错误消息。

错误和示例代码如下所示。

关于可能导致这种情况的任何想法?

0 投票
1 回答
1596 浏览

java - 如果我总是在准备好的语句中使用 varchar 设置 null 会发生什么?

我有这种方法来使用 jdbc 插入数据,该方法将根据 java 类型插入值。像这样的东西:

虽然它有一个问题(旁边都是评论:P)

如果o的值为 null,我需要使用“setNull(int, int)”方法,但我必须指定 SQL 类型

...注意:您必须指定参数的 SQL 类型。

但是......我不知道类型,所以我正在考虑总是使用 VARCHAR (只是因为)

如果我总是在准备好的语句中使用 varchar 设置 null 会发生什么?

我在用着:

使用 Oracle JDB 驱动程序:

什么是替代方案?