Php 拉动Oracle CLOB';它和瓦查尔2号不同?

Php 拉动Oracle CLOB';它和瓦查尔2号不同?,php,mysql,oracle,clob,Php,Mysql,Oracle,Clob,有了MySQL,我可以在一个文本列中存储大量文本,就像任何其他列类型一样毫无问题地拉 似乎当我尝试在Oracle上对CLOB执行同样的操作时,会出现错误 这就是我要说的: <?php $comments = 'SELECT q2_other, q4_comments, q9_describe, q10, q11_comments, q12_describe, additional_comments FROM exit_responses WHERE sdate B

有了MySQL,我可以在一个文本列中存储大量文本,就像任何其他列类型一样毫无问题地拉

似乎当我尝试在Oracle上对CLOB执行同样的操作时,会出现错误

这就是我要说的:

<?php
$comments = 'SELECT q2_other, q4_comments, q9_describe, q10, q11_comments, q12_describe, additional_comments FROM exit_responses
             WHERE sdate BETWEEN \'' . $start . '\'
             AND \'' . $end . '\'';

$comments_results = oci_parse($conn, $comments);
oci_execute($comments_results);

while($row = oci_fetch_assoc($comments_results)){
  if($row['Q2_OTHER'] != null){
  echo '<div class="response">';
    echo '<div class="info-bar">';
      echo '<h5 class="date">' , date('F j, Y',strtotime($row['SDATE'])) , '</h5>';
      echo ($_GET['names'] == 1) ? '<h5 class="name">' . $row['f_name'] . ' ' . $row['l_name'] . ' - ' . $row['title'] . ' - ' . $row['emp_type'] . '</h5>' : '';
      echo '<div class="clear"></div>';
    echo '</div>';
    echo '<div class="comments">' , $row['q2_other'] , '</div>';
    echo '<div class="clear"></div>';
  echo '</div>';
  }
}
?>
…(以及查询中的其他列)

我是否需要对CLOB执行一些特殊的操作,或者我的语法有点不正确


谢谢:)

对于LOB列,OCI将返回OCI LOB对象,您必须在其上调用
load()
read(int bytes)
,以获取内容:

$clob_contents = $row['Q2_OTHER']->load();

或者您可以使用OCI\u RETURN\u LOBS标志,如
$row=oci_fetch_array($connection_id,oci_ASSOC | oci_RETURN_LOBS)
获取类似VARCHAR2的CLOB:

$row['clob\u field\u name']

$clob_contents = $row['Q2_OTHER']->load();