gpt4 book ai didi

php - 尽管使用 PDO::PARAM_INT 参数,MySQL/PDO::quote() 还是在整数周围加上引号

转载 作者:可可西里 更新时间:2023-11-01 07:31:36 26 4
gpt4 key购买 nike

无论我将什么值/数据类型对传递给 $pdo->quote($value, $type);,它总是将其作为字符串引用:

echo $pdo->quote('foo', PDO::PARAM_STR); /* 'foo', as expected */

echo $pdo->quote(42, PDO::PARAM_INT); /* '42', expected 42 unquoted */

我只是想知道这是否是预期的功能。我使用准备好的语句来执行实际的查询,但我正在尝试 fetch 创建最终的查询字符串(用于调试/缓存),并手动构建它们。

正如标题所暗示的,这是使用 MySQL 驱动程序创建 $pdo 时。由于不可用,我没有尝试过其他的。

最佳答案

您期望的(缺乏)行为是 reported as a bug并作为“伪造”关闭,这意味着该行为是设计使然。文档在声明时可能具有误导性:

PDO::quote() places quotes around the input string (if required)

虽然这表明存在可能值未被引号括起来的实例,但它并没有说肯定存在,也没有说明这些实例是什么。如果您认为这是文档中的错误,请提交 bug report ,最好有修复。

关于php - 尽管使用 PDO::PARAM_INT 参数,MySQL/PDO::quote() 还是在整数周围加上引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5356206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com