PHP PDOStatement :: fetchAll返回的数组包含资源?

时间:2018-02-20 13:18:43

标签: php oracle pdo

我从oracle数据库中获取数据:

我的代码很简单

modules: [
  'node_modules'
]

PHP为$ res中的非常长的字符串提供了资源ID。

我想将它们作为字符串而不是资源ID。

所以我可以设置

$stmt = $con->prepare($query);
$stmt->execute($data);
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);

但现在所有的价值都是字符串。不只是资源问题。

有没有办法实现这个目标?

(是的,我知道资源ID可能更好,但在这种情况下我希望它作为字符串)

1 个答案:

答案 0 :(得分:0)

一般规则是使用PHP OCI8等本机驱动程序而不是有限的PHP PDO接口。使用OCI8,您可以执行以下操作:

while (($arr = oci_fetch_array($s, OCI_ASSOC))) {
    $arr = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_LOBS);
    echo $arr['BLOBDATA'];   // do something with the LOB
    unset($arr);             // free PHP's memory before fetching the next LOB.
}

查看PHP手册页或LOB章节http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html