php:pdo 读取 clob 而不绑定

发布于 2024-12-27 23:22:13 字数 527 浏览 2 评论 0原文

$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-s 的通用代码而不绑定参数:(

$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);

output:

...
["XMLDATA"]=> resource(33) of type (stream)
...

how i can read this? i try:

stream_get_contents()

but nothing

with

stream_get_contents()

sometimes read some litle text, i would like to use and generic code from all SQL-s without binding params :(

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧时光的容颜 2025-01-03 23:22:13

也许您正在尝试从同一个流读取两次,或者只是使用带有错误的旧 pdo_oci 库(多个记录上只会返回最后一个流)。

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

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

其中 fulltextCLOB

Maybe you're trying to read twice from the same stream or just using old pdo_oci library with a bug (only last stream will be returned on multiple records).

For the last version, compiled from php source on Ubuntu server i just use lazy-load in ActiveRecord class:

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

Where fulltext is CLOB.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文