PostgreSQL 整数字段在 PHP 中作为字符串返回

PostgreSQL integer field is returned as string in PHP

当我使用查询生成器执行查询时,我正在使用 PHP 7.2.12 和 PostgreSQL 9.5.5 和 Lumen 7,Lumen 给我数字列作为字符串。

Table: 
 id: bigint 


{
  id: "1"
}

我已经搜索并找到了 MySQL 的答案,但这不适用于 PostgreSQL。

我的同事在 Linux 中没有这个问题。但我使用 windows 10 并且我不知道必须设置什么配置才能解决此问题。

我搜索了很多我发现这个问题是因为 php does not support bigint in 32bit machine 如果你的机器是 x64 所以你应该检查你的 php x64 是否也是: 您可以通过以下脚本进行检查:

echo (PHP_INT_SIZE === 8) ? "64 bit " : "32 bit ";

此问题不是 PDO 问题,您无法通过更改 PDO 选项来解决它,这是因为 pgsql 驱动程序。