php pdo informix 以字符串或 NULL 形式返回数据

标签 php pdo informix

使用 PDO Informix 的 informix 数据始终以字符串形式返回,只有 NULL 才以 NULL 形式返回。

我尝试过玩

$pdo_conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo_conn->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);

没有成功。另外,当我尝试时

$pdo_conn->getAttribute(PDO::ATTR_STRINGIFY_FETCHES);

我收到 PHP Fatal error: Uncaught PDOException: SQLSTATE[IM001]: Driver does not support this function: driver does not support that attribute

我用

  $prep = $pdo_conn->prepare($query);
  $prep->execute();
  $result = $prep->fetchAll(PDO::FETCH_ASSOC);

有人知道如何使用 pdo informix 将我的 float 作为 float 吗?

谢谢, 阿里。

最佳答案

Informix PDO 驱动程序以 PDO_PARAM_STR 形式返回所有内容(作为 PDO_PARAM_LOB 返回的 CLOB 除外)。

与 PDO_ODBC 相同,对于结果集中的每一列,驱动程序使用 SQL_C_CHAR 进行内部 SQLBindCol ODBC 调用。

ATTR_STRINGIFY_FETCHES 属性的值没有任何区别,因为返回的数据类型已经是字符串。 您可以查看驱动源代码(第653行左右):

https://github.com/php/pecl-database-pdo_informix/blob/master/informix_statement.c

关于php pdo informix 以字符串或 NULL 形式返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61814342/

相关文章:

python-3.x - 导入错误 : DLL load failed while importing IfxPy on Windows with Python3. 8

php - 在购物车中保存产品自定义字段值并将其显示在购物车和结帐中

php - 使用 PHP 检查 mysql 数据库更改

php - 我的 PHP PDO 不会运行对数据库 PHPMYADMIN 的更新查询

PHP PDO mySQL 查询如果不存在则创建表

c# - 复制到数据表时,值对于 Int16 来说太大或太小

php - 迁移后测试数据(HTML -> PHP -> SQL)

带参数的 PHP shell_exec 不工作

php - 如何在sql中连接来自不同表的两个字段

SQL 查询类似于 IN where 子句,带有 AND 条件而不是 OR