ID: 35280 Updated by: [EMAIL PROTECTED] Reported By: tawood at vlsmaps dot com -Status: Open +Status: Feedback Bug Type: OCI8 related Operating System: Fedora 4 PHP Version: 5.0.5 Assigned To: tony2001 New Comment:
And even using the same version of Oracle Instant Client, I still get the same result. Please try OCI8 from PECL CVS. Previous Comments: ------------------------------------------------------------------------ [2005-11-18 21:30:57] tawood at vlsmaps dot com I was expecting the output you got. Here is what I get : BT_IDX : 0<br /> REG_FLOAT : 0<br /> BIN_FLOAT : 0<br /> BT_IDX : 1<br /> REG_FLOAT : 2.331<br /> BIN_FLOAT : <br /> BT_IDX : 2<br /> REG_FLOAT : 4.662<br /> BIN_FLOAT : <br /> BT_IDX : 3<br /> REG_FLOAT : 6.993<br /> BIN_FLOAT : <br /> BT_IDX : 4<br /> REG_FLOAT : 9.324<br /> BIN_FLOAT : <br /> BT_IDX : 5<br /> REG_FLOAT : 11.655<br /> BIN_FLOAT : <br /> BT_IDX : 6<br /> REG_FLOAT : 13.986<br /> BIN_FLOAT : <br /> BT_IDX : 7<br /> REG_FLOAT : 16.317<br /> BIN_FLOAT : <br /> BT_IDX : 8<br /> REG_FLOAT : 18.648<br /> BIN_FLOAT : <br /> BT_IDX : 9<br /> REG_FLOAT : 20.979<br /> BIN_FLOAT : <br /> I did the pecl install oci8-beta and it says that I have version 1.1.1 installed. Here's the oci8 info from phpinfo : OCI8 Support enabled Revision $Revision: 1.257.2.8 $ Active Persistent Links 0 Active Links -53 Oracle Version 10.1 Compile-time ORACLE_HOME /usr/lib/oracle/10.2.0.1/client/lib Libraries Used no value Temporary Lob support enabled Collections support enabled If you need anymore information I will be glad to help. Thanks for looking into this. ------------------------------------------------------------------------ [2005-11-18 20:07:34] [EMAIL PROTECTED] Please add expected and actual results. That's what I get with the code you've provided: BT_IDX : 0<br /> REG_FLOAT : 0<br /> BIN_FLOAT : 0<br /> BT_IDX : 1<br /> REG_FLOAT : 2.331<br /> BIN_FLOAT : 2.33100224E+000<br /> BT_IDX : 2<br /> REG_FLOAT : 4.662<br /> BIN_FLOAT : 4.66200447E+000<br /> BT_IDX : 3<br /> REG_FLOAT : 6.993<br /> BIN_FLOAT : 6.99300718E+000<br /> BT_IDX : 4<br /> REG_FLOAT : 9.324<br /> BIN_FLOAT : 9.32400894E+000<br /> BT_IDX : 5<br /> REG_FLOAT : 11.655<br /> BIN_FLOAT : 1.16550121E+001<br /> BT_IDX : 6<br /> REG_FLOAT : 13.986<br /> BIN_FLOAT : 1.39860144E+001<br /> BT_IDX : 7<br /> REG_FLOAT : 16.317<br /> BIN_FLOAT : 1.63170166E+001<br /> BT_IDX : 8<br /> REG_FLOAT : 18.648<br /> BIN_FLOAT : 1.86480179E+001<br /> BT_IDX : 9<br /> REG_FLOAT : 20.979<br /> BIN_FLOAT : 2.09790211E+001<br /> I don't see any problems here. ------------------------------------------------------------------------ [2005-11-18 18:13:51] tawood at vlsmaps dot com Description: ------------ I have php 5.0.5, apache 2.0.55 and oci8-beta 1.1.1. BINARY_FLOAT data types in 10g are always returned as a null value in php. I have made sure that the values are there via SQL*Plus and the Enterprise Manager. In the below example, the output of the binary_float column is empty. The obvious work around to this is to use a NUMBER data type. Reproduce code: --------------- ------------ $oraDb = oci_connect("YOUR_SCHEMA","password","TNSNAME"); $oraCreate = 'CREATE TABLE binf_test (bt_idx INTEGER, reg_float NUMBER (10, 3), bin_float BINARY_FLOAT, CONSTRAINT bt_pk PRIMARY KEY (bt_idx))'; oci_execute(oci_parse($oraDb, $oraCreate)); for($i=0;$i<10;$i++) { $decnum = ($i / (.429)); $oraInsert = "INSERT INTO binf_test VALUES (".$i.", ".$decnum.", ".$decnum.")"; oci_execute(oci_parse($oraDb, $oraInsert)); } $oraSelect = "SELECT * FROM binf_test"; $oraParse = oci_parse($oraDb, $oraSelect); if (oci_execute($oraParse)) { while ($oraRow = oci_fetch_assoc($oraParse)) { foreach ($oraRow as $key => $val) { echo $key." : ".$val."<br />\n"; } } } oci_close($oraDb); Expected result: ---------------- The correct values of binary_float columns to be displayed. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35280&edit=1