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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: beate dot kruess at airbus dot dasa dot de
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2024 The PHP Group
All rights reserved.
Last updated: Wed Sep 11 10:01:27 2024 UTC