Question

Avec MySQL, je suis en mesure de stocker de gros blocs de texte dans une colonne TEXT, traction comme je le ferais tout autre type de colonne sans problème.

Il semble que j'essaie de faire la même chose avec CLOB sur Oracle, je reçois des erreurs.

Voici où je tire:

<?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>';
  }
}
?>

... et voici ce que je reçois lorsque je tente de print_r () $ row dans la boucle while ():

[Q2_OTHER] => OCI-Lob Object
        (
            [descriptor] => Resource id #17
        )

... (ainsi que les autres colonnes de la requête)

Y at-il spécial quelque chose que je dois faire avec CLOBS ou est ma syntaxe juste un peu.

Merci:)

Était-ce utile?

La solution

Pour les colonnes LOB BEC retour objet OCI-Lob, sur lequel vous devez appeler load() ou read(int bytes) pour obtenir le contenu:

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

Autres conseils

ou vous pouvez utiliser comme drapeau OCI_RETURN_LOBS $row = oci_fetch_array($connection_id, OCI_ASSOC | OCI_RETURN_LOBS) pour aller chercher CLOB comme VARCHAR2:

$row['clob_field_name']

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top