Skip to content
Advertisement

PostgreSQL integer field is returned as string in PHP

I’m using PHP 7.2.12 and PostgreSQL 9.5.5 and Lumen 7 when i execute a query with query builder, Lumen give me numeric column as string.

Table: 
 id: bigint 


{
  id: "1"
}

i have searched for and there is answer for MySQL but that does not work for PostgreSQL.

my co-worker does not have this problem in Linux. but i use windows 10 and i don’t know what configuration have to set to fix this issue.

Advertisement

Answer

I searched a lot i found this problem is because of php does not support bigint in 32bit machine if your machine is x64 so you should check is your php x64 too or not: you can check it by following script:

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

this problem is not PDO issue and you cann’t solve it with changing PDO options it’s because of pgsql driver. pgsql return bigint as string if the used language doesn’t have any type for bigint.

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement