php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #6434 OCIFetchStatement() returns no data
Submitted: 2000-08-30 08:13 UTC Modified: 2001-02-18 06:14 UTC
From: beate dot kruess at airbus dot dasa dot de Assigned:
Status: Closed Package: OCI8 related
PHP Version: 4.0.1pl2 OS: hpux11, apache1.312, oracle8.0.5
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
29 - 4 = ?
Subscribe to this entry?

 
 [2000-08-30 08:13 UTC] beate dot kruess at airbus dot dasa dot de
the problem:

OCIFetchStatement() returns only column data, which actual length is the half or less then the total column length;
for example:  create table abc (str1 varchar2(10), str2 varchar2(10), str3 varchar2(10));
                    with   abc.str1='12345', abc.str2='123456', abc.str3='1234'
                    then   column str1 appears as '12345', str2 appears as blank column and str3 as '1234'

the php example file:

<HEAD>
<TITLE>Ausgabe der FIN-Suche</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
parent.Table.location.href = "Table.htm";
-->
</SCRIPT
</HEAD>

<BODY BGCOLOR="#ffb310" TEXT="#000000" LINK="#000000" ALINK="#FFFFFF" VLINK="#FF
0000">

<?php
$pass ="deich3";
$user ="th84kb";
$ohome="/opt/oracle/product/8.0.5";
putenv("ORACLE_HOME=$ohome");
$conn=OCILogon( $user, $pass, "test8") or die;

$sql="SELECT str1, str2, str3 FROM abc ORDER BY str1";
$stmt = OCIParse( $conn, $sql);
OCIExecute( $stmt);

echo "<BR><BR><TABLE BORDER='2' BORDERCOLOR='#110c79' WIDTH='100%' vspace='0'>";

$nrows = OCIFetchStatement($stmt,$results);
if ( $nrows > 0 )
   {
   print "<TABLE BORDER=\"1\">\n";
   print "<TR>\n";
while ( list( $key, $val ) = each( $results ) ) {
      print "<TH>$key</TH>\n";
      }
   print "</TR>\n";

   for ( $i = 0; $i < $nrows; $i++ )
      {
      reset($results);
      print "<TR>\n";
      while ( $column = each($results) ) {  
         $data = $column['value'];
         print $i;
         print $data[$i];
         print "<TD>$data[$i]</TD>\n";
         }
      print "</TR>\n";
      }
   print "</TABLE>\n";
   }
else
   {
   echo "No data found<BR>\n";
   }
print "$nrows Records Selected<BR>\n";

OCIFreeStatement( $stmt);
OCILogOff( $conn);
 ?>

</BODY>
</HTML>

the php configuration line:
./configure  --with-oci8=/opt/oracle/product/8.0.5 --with-apache=../apache_1.3.12

(this statement includes automaticaly the mysql-module, why ? I don't need it)

I have no php.ini file!

system: hpux11, oracle8.0.5, apache_1.3.12

Thanks Beate Kruess

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-01-30 04:42 UTC] sniper@php.net
reclassified.

 [2001-02-18 06:14 UTC] thies@php.net
please set all oracle-related env-vars *before* you star 
apache and _not_ using putenv in you script. also make 
sure that NLS_LANG is setup correctly!

 
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Fri Sep 30 22:05:55 2022 UTC