如何用 PHP 在 Postgres 中编译整数数据?
我的整数是字符串,如下所示 var_dump ( $_SESSION )
'logged_in' => int 1
'user_id' => string '9' (length=1) // should be int
'a_moderator' => string '0' (length=1) // should be int
我通过以下代码编译值,这显然是 pg_prepare
和 pg_execute
之后的问题根源。
while ( $row = pg_fetch_array( $result ) ) {
$user_id = $row['user_id'];
}
最佳答案
PHP 数据库扩展将所有数据类型返回为字符串是很正常的,因为某些 SQL 数据类型无法用 PHP 原生数据类型表示。
示例:PostgreSQL BIGINT
(8 字节整数数据类型)将溢出 int
PHP 类型(除非 PHP 编译时支持 64 位),并被强制转换作为 float
可能会失去准确性。
关于php - PHP 从 Postgres 正确读取数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1314986/