php - PostgreSQL 整数字段在 PHP 中作为字符串返回
问题描述
当我使用查询生成器执行查询时,我正在使用PHP 7.2.12
PostgreSQL 9.5.5 和 Lumen 7,Lumen 给我数字列作为字符串。
Table:
id: bigint
{
id: "1"
}
我已经搜索过并且有MySQL的答案,但这不适用于 PostgreSQL。
我的同事在 Linux 中没有这个问题。但我使用的是 Windows 10,但我不知道必须设置什么配置才能解决此问题。
解决方案
我搜索了很多,我发现这个问题是因为如果你的机器是 x64,php 在 32 位机器上不支持 bigint,所以你应该检查你的 php x64 是否也是:你可以通过以下脚本检查它:
echo (PHP_INT_SIZE === 8) ? "64 bit " : "32 bit ";
这个问题不是 PDO 问题,您无法通过更改 PDO 选项来解决它,这是因为 pgsql 驱动程序。如果使用的语言没有任何 bigint 类型,则 pgsql 将 bigint 作为字符串返回。
推荐阅读
- azure-cognitive-search - Azure 搜索中基于上下文的同义词消歧
- python - Python:ImportError:没有名为“win32types”的模块
- node.js - 在 $match、$group、$lookup 查询中 $unwind 的 MongoDB 位置
- biztalk - 更新 BizTalk 中的资源
- xquery - MarkLogic,如何在cts字段词查询中为字段添加权重
- cors - 请求的资源上不存在“Access-Control-Allow-Origin”标头 - ANGULAR 7
- visual-studio-code - 如何将 Flutter 与 Genymotion 连接起来?
- sql-server - 将数据从一个表中的列复制到另一个表中的列多次SQL Server
- html - 从图像到单个项目的边界半径
- r - 将行值转换为字符串