使用PHP从oracle数据库检索blob字段

使用PHP从oracle数据库检索blob字段,php,oracle,blob,Php,Oracle,Blob,我在oracle中有一个具有以下定义的表 file_id varchar2(20) file_content blob 使用下面的PHP代码,我试图检索blob字段,但得到NULL $file_id = '1324410597775'; $content = strtoupper('file_content'); $holder = ":holder"; $conn = oci_connect("user","password","tstring"); $sql = "select $hol

我在oracle中有一个具有以下定义的表

file_id varchar2(20)
file_content blob
使用下面的PHP代码,我试图检索blob字段,但得到NULL

$file_id = '1324410597775';
$content = strtoupper('file_content');
$holder = ":holder";

$conn = oci_connect("user","password","tstring");
$sql = "select $holder from tbl_file_upload where file_id = '$file_id'";


$parse = oci_parse($conn, $sql);

oci_bind_by_name($parse, $holder, $content);

oci_execute($parse);

$row = oci_fetch_array($parse, OCI_RETURN_NULLS);
$lob = null;
if (is_object($row[$content])) {
     $lob = $row[$content]->load();
     $row[$content]->free();
     echo "Here";
}
我在这个链接中遵循了这个例子


如果有人能给我指出正确的方向,我将不胜感激。

选择:持有者意味着oci_fetch_array()无法识别答案中的
文件内容
列。请注意引用的教程如何使用
从…
选择图片,而不是
从…
选择:图片
<?php 

    $conn = oci_pconnect('JRAHMAN89', 'jahid7654321', '10.2.1.18:1528/dbpblrnd');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}


$stid = oci_parse($conn, "select * from TAGM_SHARE_REG where BO_FOLIO_NO='3'");
oci_execute($stid);
while (($rowA = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) != false)
{ 
   header("Content-Type:" . $rowA['DOCTYPE']);
   echo $rowA['DOC'];

}

?>

它会起作用

它会抛出错误吗?虽然这段代码可能会解决这个问题,但如何以及为什么解决这个问题会真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。