php pdo informix returns 数据为字符串或 NULL

php pdo informix returns data as string or NULL

来自带有 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 致命错误:未捕获的 PDOException:SQLSTATE[IM001]:驱动程序不支持此功能:驱动程序不支持该属性

我用

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

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

谢谢, 阿丽.

Informix PDO 驱动程序 returns 一切都是 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