使用 PHP PDO 在浏览器屏幕上输出 Informix clob 或文本

发布于 2024-10-03 14:45:41 字数 539 浏览 4 评论 0原文

我从数据库查询中获取 CLOB 或 Informix 类型 TEXT 结果(文本),但不知道如何输出它。

$preparedStatement = $dbinformix->prepare($sql3);
$preparedStatement->bindColumn(4, $tmp, PDO::PARAM_LOB);
$preparedStatement->execute();
$result = $preparedStatement->fetchAll();
  • echo $tmp 会生成资源 ID #47。
  • var_dump($tmp) 生成类型(流)的资源(47)。
  • fpassthru($tmp) 使显示空白。
  • 如果我尝试使用 PDO::PARAM_STR 作为第三个绑定参数,显示仍然为空白。

所以我不知道如何获取 CLOB 中的文本(它是几 KB,而不是 MB)。有什么想法吗?

I'm getting a CLOB or a Informix type TEXT result (text) from a database query, but don't know how to output it.

$preparedStatement = $dbinformix->prepare($sql3);
$preparedStatement->bindColumn(4, $tmp, PDO::PARAM_LOB);
$preparedStatement->execute();
$result = $preparedStatement->fetchAll();
  • An echo $tmp results in a Resource id #47.
  • A var_dump($tmp) results in a resource(47) of type (stream).
  • An fpassthru($tmp) leaves the display blank.
  • If I try to use PDO::PARAM_STR as the third bind parameter, the display is still blank.

So I have no idea how to get the text, which is in the CLOB (it's a few KB, not MB). Any ideas?

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

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

发布评论

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

评论(1

作死小能手 2024-10-10 14:45:41

使用 PDOStatement::fetchAll相反:

$preparedStatement = $dbinformix->prepare($sql3);
$preparedStatement->execute();

$tmp = $preparedStatement->fetchAll(PDO::FETCH_COLUMN, 4);

$tmp 现在将是一个包含第五列值的数组。

Do this with the "fetch column" syntax of PDOStatement::fetchAll instead:

$preparedStatement = $dbinformix->prepare($sql3);
$preparedStatement->execute();

$tmp = $preparedStatement->fetchAll(PDO::FETCH_COLUMN, 4);

$tmp will now be an array containing the values of your fifth column.

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