PostgreSQL整数字段在PHP中以字符串形式返回

PostgreSQL整数字段在PHP中以字符串形式返回,php,postgresql,pdo,lumen,postgresql-9.5,Php,Postgresql,Pdo,Lumen,Postgresql 9.5,我使用的是PHP7.2.12和PostgreSQL 9.5.5以及Lumen 7。当我使用查询生成器执行查询时,Lumen将数字列作为字符串提供给我 Table: id: bigint { id: "1" } 我已经搜索过了,并且找到了答案,但这对PostgreSQL不起作用 我的同事在Linux中没有这个问题。但是我使用的是windows 10,我不知道必须设置什么配置来解决这个问题。我搜索了很多,发现这个问题是因为您的计算机是否为x64,所以您应该检查您的php x64是否也

我使用的是
PHP7.2.12
和PostgreSQL 9.5.5以及Lumen 7。当我使用查询生成器执行查询时,Lumen将数字列作为字符串提供给我

Table: 
 id: bigint 


{
  id: "1"
}
我已经搜索过了,并且找到了答案,但这对PostgreSQL不起作用


我的同事在Linux中没有这个问题。但是我使用的是windows 10,我不知道必须设置什么配置来解决这个问题。

我搜索了很多,发现这个问题是因为您的计算机是否为x64,所以您应该检查您的php x64是否也存在: 您可以通过以下脚本进行检查:

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

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

我搜索了很多,发现这个问题是因为您的机器是否为x64,所以您应该检查您的php x64是否也存在: 您可以通过以下脚本进行检查:

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

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

我有检查,我看到这个问题只适用于bigint类型的列。很可能底层驱动程序以文本形式返回数据,我有检查,我看到这个问题只适用于bigint类型的列。很可能底层驱动程序以文本形式返回数据,我的机器是x64,我的PHP是x64,我的PostgreSQL是x64,它仍然返回BIGINT,但也返回INT和SMALLINT作为字符串…:/@一些用户,如果您将所有int作为字符串,我认为您应该设置PDO选项以将数字更改为整数我的计算机是x64,我的PHP是x64,我的PostgreSQL是x64,它仍然返回BIGINT,但也返回int和SMALLINT作为字符串…:/@一些用户,如果您将所有int作为字符串,我认为您应该设置PDO选项,将数字更改为整数