gpt4 book ai didi

php - 为什么 PDO_MySQL 不返回整数?

转载 作者:IT老高 更新时间:2023-10-29 00:03:18 26 4
gpt4 key购买 nike

我正在将我的 PHP 代码从 mysql(在 5.5 中弃用)迁移到 PDO_MySQL。但是,mysql_fetch_row 返回整数,而 PDOStatement::fetch 返回数字字符串。我怎样才能让 PDO 的行为像前一个一样?

mysql_fetch_row 的结果:

array(1) {
["id"]=>
int(1)
}

PDOStatement::fetch 的结果:

array(1) {
["id"]=>
string(1) "1"
}

最佳答案

设置 PDO::ATTR_EMULATE_PREPARES 为 false,如果你真的需要松散类型的 PHP

如果 mysql_fetch_row 为 SUM 返回 int(我从来不关心检查)——那么它会像 if (ctype_digit($val)) $row[$key] = (int)$val; - 所以你可以在你的 DBAL 中做

据我了解准备语句的工作方式,它使用相同的数据包结构来发送和检索数据,并且该数据包包含数据类型。

看起来服务器可以返回两种格式的数据——本地和 mysqlnd,这取决于请求类型。后者可以由客户端库解释以转换结果值。

关于php - 为什么 PDO_MySQL 不返回整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16129432/

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