gpt4 book ai didi

php - 执行 PDO 查询将绑定(bind)参数从整数更改为字符串

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

代码示例

$query = $this->db->prepare( $sql );                  // prepare sql
$query->bindParam( 'start', $start, PDO::PARAM_INT ); // bind start
$query->bindParam( 'end', $end, PDO::PARAM_INT ); // bind end
$query->bindParam( 'language', $this->language ); // bind language
$query->bindValue( 'keyword', "%$keyword%" ); // bind keyword

var_dump( $end );
$query->execute();
var_dump( $end );

输出

int 2
string '2' (length=1)

但是... 如果我切换绑定(bind)顺序...

$query = $this->db->prepare( $sql );                  // prepare sql
$query->bindParam( 'language', $this->language ); // bind language
$query->bindValue( 'keyword', "%$keyword%" ); // bind keyword
$query->bindParam( 'start', $start, PDO::PARAM_INT ); // bind start
$query->bindParam( 'end', $end, PDO::PARAM_INT ); // bind end

var_dump( $end );
$query->execute();
var_dump( $end );

输出

int 2
int 2

Windows 上的 PHP 版本:5.3.8

谁能解释为什么会这样?

最佳答案

尝试关闭仿真以准备语句

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

关于php - 执行 PDO 查询将绑定(bind)参数从整数更改为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522481/

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