php: pdo читает clob без привязки - PullRequest
2 голосов
/ 20 января 2012
$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)
...

как я могу это прочитать?я пытаюсь:

stream_get_contents()

но ничего

с

stream_get_contents()

иногда читать небольшой текст, я хотел бы использовать и общий код из всех SQL-ов безобязательные параметры: (

1 Ответ

0 голосов
/ 28 сентября 2015

Возможно, вы пытаетесь дважды прочитать один и тот же поток или просто используете старую библиотеку pdo_oci с ошибкой (для нескольких записей будет возвращен только последний поток).

Для последней версии, скомпилированной из phpисточник на сервере Ubuntu, я просто использую lazy-load в ActiveRecord классе:

public function getFullText()
{
    if (is_resource($this->fulltext)) {
        $this->fulltext = stream_get_contents($this->fulltext);
    }
    return $this->fulltext;
}

Где fulltext равно CLOB.

...