问题标签 [bindvalue]

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

php - bindParam 和 bindValue 有什么区别?

PDOStatement::bindParam()和 和有什么不一样PDOStatement::bindValue()

0 投票
10 回答
64840 浏览

php - 如何在 LIMIT 子句中应用 bindValue 方法?

这是我的代码的快照:

我明白了

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''15', 15' 附近使用正确的语法

似乎 PDO 在 SQL 代码的 LIMIT 部分中为我的变量添加了单引号。我查了一下,发现了这个我认为相关的错误: http ://bugs.php.net/bug.php?id=44639

这就是我在看的吗?自 2008 年 4 月以来,此错误已打开!在此期间我们应该做什么?

我需要建立一些分页,并且需要在发送 sql 语句之前确保数据是干净的、sql 注入安全的。

0 投票
3 回答
4626 浏览

php - PHP PDO bindValue() 不起作用

问题出在这一行:$stmt->bindValue(":index", $_GET['index'], PDO::PARAM_INT);

而具体参数是第二个。

上面的代码不起作用,它不返回任何内容,因此不会执行 while 循环。如果我将 $_GET['index'] 替换为一个数字,比如 10,它就可以正常工作,它返回 10 行。回显 $_GET['index'] 会显示一个数字,因此它应该传递一个数字。我也试过 bindParam,但结果是一样的。

为什么这不起作用?

编辑:

有趣...如果我更换$_GET['index'] with (int)$_GET['index']它就可以了。

0 投票
1 回答
1764 浏览

php - 为什么 bindValue 或 BindParam 不修改准备好的语句?

使用最新的 php 来创建一个向表用户添加行的函数。

当我执行 addUser 函数时,这是我看到在 mysql 日志文件上执行的查询:

如您所见,它没有将 :varname 替换为正确的值。我错过了什么?

我尝试了 bindValue 和 bindParam,但得到了相同的结果。

更新

即使我改变:username:password使用,?,?我 得到相同的结果。实际执行的查询仍然包含在其中,而不是实际变量。bindValue(1,$username)bindValue(2,$password)?,?

0 投票
2 回答
2281 浏览

php - PDO->bindParam、PDO->bindValue 和 PDO->closeCursor

到目前为止,我一直在使用PDO->bindParam手册,但在阅读手册时,我发现PDO->bindValue了我可以PDO->bindValue通过值PDO->bindParam传递的内容,而作为参考传递,这是唯一的区别吗?

再次阅读我发现的手册时:我PDO->closeCursor应该把它放在标记的地方吗?它是可选的/自动调用的吗?似乎只有某些司机需要它。在不需要/支持它的驱动程序上调用它会导致错误吗?MySQL怎么样?

0 投票
2 回答
4755 浏览

php - 如何在 PDO 中将值与 % 绑定?

这就是我所拥有的。

当我尝试 bindValue 然后在准备好的语句( %:queryString% )中使用它时出现错误

我该如何解决这个问题?

0 投票
1 回答
3248 浏览

sql - 如何使用 bindvalue 和 % 准备语句?

是的,当我尝试对以前看起来像这样的变量使用绑定值时,我遇到了一个问题:

现在看起来像这样:

但它不起作用,也试过这个:

并得到一些语法错误..

什么是正确的解决方案?我还想在 bindValue(:firstname, $firstname%) 中添加 % 但我也需要在其他不应该有 %.. 的地方使用 :firstname

帮忙谢谢

0 投票
1 回答
475 浏览

php - bindValue 不会转义

我在 php.net 上阅读了一条评论:

虽然bindValue()转义引号它不会转义“%”和“_”,所以使用时要小心LIKE。如果您不自己转义参数,则充满 %%% 的恶意参数可以转储您的整个数据库。PDO 不提供任何其他转义方法来处理它。

那么它真的没有逃脱 % 和 _ 吗?什么是最好的解决方案?

0 投票
2 回答
374 浏览

php - 如何在主键上绑定值?

是否建议在主键上绑定值?

主键值来自数据库结果。

注意:它不与 GET/POST 查询链接。

例如:

0 投票
3 回答
4769 浏览

php - 如何在 PDOStatement::bindValue() 中定义变量类型?

PDOStatement::bindValue()方法提供了一种指定绑定变量类型的方法:

PDOStatement::bindValue ( $parameter , $value [, $data_type = PDO::PARAM_STR ] )

我想知道,指定数据类型的目的是什么,而当保留为默认值 ( PARAM_STR) 时,最终数据库会在使用它之前将值转换为正确的类型?

例如,如果您对某个INTEGER字段进行以下查询:

而你在 PHP 中绑定一个整数,PDO 默认将其绑定为一个字符串,相当于:

这将完美无缺,因为 SQL 数据库(至少是 MySQL,我真的不知道这将如何在其他 RDBMS 上工作)知道如何在使用之前将字符串转换回整数。

在哪些用例中,绑定类型参数与字符串会有所不同?