gpt4 book ai didi

php - 使用 Zend Framework 从 DB 中获取 Integer 将值作为字符串返回

转载 作者:IT王子 更新时间:2023-10-28 23:43:53 26 4
gpt4 key购买 nike

当我使用 ZF 包装器运行 sql 查询时,所有数值都以字符串形式返回。我需要更改什么才能使值以与数据库中相同的数据类型返回?

最佳答案

我实现了很多 Zend_Db Zend 框架中的代码。

正如其他人所说,Zend_Db 的原因返回字符串而不是原生 PHP 整数或 float 是 PHP 的数据库扩展返回字符串。原因是可能没有本地 PHP 类型来表示特定的数据库类型。

例如MySQL的BIGINT是一个 64 位有符号整数。默认情况下,PHP int type 仅限于 32 位值,因此如果您从数据库中获取数据并将其隐式转换为 int ,某些值可能会被截断。还有其他几个类似的案例,对于float和日期等。

对所有数据类型使用字符串表示是保持简单和一致、安全避免数据丢失以及避免编写大量特定于供应商的特殊情况代码来进行数据类型映射的最佳方式。额外的代码也会导致性能下降。

因此,如果您在特定情况下需要将数据库结果映射到 native PHP 数据类型,则应在您的应用程序代码中自行实现(例如,在自定义 Zend_Db_Table_Row 类中)。

关于php - 使用 Zend Framework 从 DB 中获取 Integer 将值作为字符串返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/722573/

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