问题标签 [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.
php - 如何在 LIMIT 子句中应用 bindValue 方法?
这是我的代码的快照:
我明白了
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''15', 15' 附近使用正确的语法
似乎 PDO 在 SQL 代码的 LIMIT 部分中为我的变量添加了单引号。我查了一下,发现了这个我认为相关的错误: http ://bugs.php.net/bug.php?id=44639
这就是我在看的吗?自 2008 年 4 月以来,此错误已打开!在此期间我们应该做什么?
我需要建立一些分页,并且需要在发送 sql 语句之前确保数据是干净的、sql 注入安全的。
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']
它就可以了。
php - 为什么 bindValue 或 BindParam 不修改准备好的语句?
使用最新的 php 来创建一个向表用户添加行的函数。
当我执行 addUser 函数时,这是我看到在 mysql 日志文件上执行的查询:
如您所见,它没有将 :varname 替换为正确的值。我错过了什么?
我尝试了 bindValue 和 bindParam,但得到了相同的结果。
更新
即使我改变:username
和:password
使用,?,?
我
得到相同的结果。实际执行的查询仍然包含在其中,而不是实际变量。bindValue(1,$username)
bindValue(2,$password)
?,?
php - PDO->bindParam、PDO->bindValue 和 PDO->closeCursor
到目前为止,我一直在使用PDO->bindParam
手册,但在阅读手册时,我发现PDO->bindValue
了我可以PDO->bindValue
通过值PDO->bindParam
传递的内容,而作为参考传递,这是唯一的区别吗?
再次阅读我发现的手册时:我PDO->closeCursor
应该把它放在标记的地方吗?它是可选的/自动调用的吗?似乎只有某些司机需要它。在不需要/支持它的驱动程序上调用它会导致错误吗?MySQL怎么样?
php - 如何在 PDO 中将值与 % 绑定?
这就是我所拥有的。
当我尝试 bindValue 然后在准备好的语句( %:queryString% )中使用它时出现错误
我该如何解决这个问题?
sql - 如何使用 bindvalue 和 % 准备语句?
是的,当我尝试对以前看起来像这样的变量使用绑定值时,我遇到了一个问题:
现在看起来像这样:
但它不起作用,也试过这个:
并得到一些语法错误..
什么是正确的解决方案?我还想在 bindValue(:firstname, $firstname%) 中添加 % 但我也需要在其他不应该有 %.. 的地方使用 :firstname
帮忙谢谢
php - bindValue 不会转义
我在 php.net 上阅读了一条评论:
虽然
bindValue()
转义引号它不会转义“%”和“_”,所以使用时要小心LIKE
。如果您不自己转义参数,则充满 %%% 的恶意参数可以转储您的整个数据库。PDO 不提供任何其他转义方法来处理它。
那么它真的没有逃脱 % 和 _ 吗?什么是最好的解决方案?
php - 如何在主键上绑定值?
是否建议在主键上绑定值?
主键值来自数据库结果。
注意:它不与 GET/POST 查询链接。
例如:
php - 如何在 PDOStatement::bindValue() 中定义变量类型?
PDOStatement::bindValue()方法提供了一种指定绑定变量类型的方法:
PDOStatement::bindValue ( $parameter , $value [, $data_type = PDO::PARAM_STR ] )
我想知道,指定数据类型的目的是什么,而当保留为默认值 ( PARAM_STR
) 时,最终数据库会在使用它之前将值转换为正确的类型?
例如,如果您对某个INTEGER
字段进行以下查询:
而你在 PHP 中绑定一个整数,PDO 默认将其绑定为一个字符串,相当于:
这将完美无缺,因为 SQL 数据库(至少是 MySQL,我真的不知道这将如何在其他 RDBMS 上工作)知道如何在使用之前将字符串转换回整数。
在哪些用例中,绑定类型参数与字符串会有所不同?