php:pdo不带绑定读取clob

php:pdo不带绑定读取clob,php,oracle,pdo,clob,oracle-call-interface,Php,Oracle,Pdo,Clob,Oracle Call Interface,输出: $query = "select id, xmldata from xmlcontent where id = '586655' OR id = '671347'" $db = new PDO(...); $stmt = $db->prepare($query); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); var_dump($result); 我怎么能读这个?我尝试: ... ["

输出:

$query = "select id, xmldata from xmlcontent where id = '586655' OR id = '671347'"

$db = new PDO(...);
$stmt = $db->prepare($query);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

var_dump($result);
我怎么能读这个?我尝试:

...
["XMLDATA"]=> resource(33) of type (stream)
...
但什么都没有


有时阅读一些小文本,我希望使用所有SQL-s中的通用代码而不绑定参数:(

可能您试图从同一个流中读取两次,或者只是使用带有bug的旧pdo_oci库(在多个记录上只返回最后一个流)

对于上一个版本,从Ubuntu服务器上的php源代码编译,我只在
ActiveRecord
类中使用惰性加载:

stream_get_contents()

其中
fulltext
CLOB

可能您试图从同一个流中读取两次,或者只是使用带有bug的旧pdo_oci库(在多个记录上只返回最后一个流)

对于上一个版本,从Ubuntu服务器上的php源代码编译,我只在
ActiveRecord
类中使用惰性加载:

stream_get_contents()

其中
fulltext
CLOB

如果你调用资源会发生什么?你应该会得到一个包含有用信息的数组。我周一回来工作时会试试。谢谢:)数组([stream_type]=>pdo_oci blob stream[mode]=>r+b[unread_bytes]=>0[seakable]=>[timed_out]=>[blocked]=>1[eof]=>)@CharlesSo,它是只读的,不可查找,不可eof,并且被阻止。真奇怪。不幸的是,我没有任何建议……出于好奇,您正在使用Oracle数据库吗?如果您调用该资源会发生什么?你应该会得到一个包含有用信息的数组。我周一回来工作时会试试谢谢:)数组([stream_type]=>pdo_oci blob stream[mode]=>r+b[unread_bytes]=>0[seekable]=>0[timed_out]=>[blocked]=>1[eof]=>)@CharlesSo,它是只读的,不可查找,不可eof,并且被阻止。真奇怪。不幸的是,我没有任何建议……出于好奇,您是否在使用Oracle数据库?PDO_OCI已被弃用,我可以编译它来探测它:(它被弃用了?我以为它只是因为PHP本身的内置版本而被放弃了作为独立扩展?reposIt中没有针对PHP的oracle pdo扩展。它是内置在PHP本身中的。不过,oracle和pdo_OCI会面临很多问题。例如,BLOB和CLOB。我现在设法解决了大部分问题,但事实并非如此显而易见的问题。PDO_OCI已被弃用,我可以编译它来探究它:(它被弃用了?我以为它只是因为PHP本身的内置版本而被放弃了作为独立扩展?reposIt中没有针对PHP的oracle pdo扩展。它是内置在PHP本身中的。不过,oracle和pdo_OCI会面临很多问题。例如,BLOB和CLOB。我现在设法解决了大部分问题,但事实并非如此明显的问题。
public function getFullText()
{
    if (is_resource($this->fulltext)) {
        $this->fulltext = stream_get_contents($this->fulltext);
    }
    return $this->fulltext;
}