PHP 4.0 Bug #6434: OCIFetchStatement() returns no data

From: Date: Wed, 30 Aug 2000 12:13:45 +0000
Subject: PHP 4.0 Bug #6434: OCIFetchStatement() returns no data
Groups: php.dev 
Request: Send a blank email to php-dev+get-31230@lists.php.net to get a copy of this message
From: beate.kruess@airbus.dasa.de Operating system: hpux11, apache1.312, oracle8.0.5 PHP version: 4.0.1pl2 PHP Bug Type: Oracle related Bug description: OCIFetchStatement() returns no data 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

« previous php.dev (#31230) next »