#32618 [NEW]: Non returned data
| From: | christophe dot foiret at valdoise dot fr | Date: | Thu, 07 Apr 2005 07:56:47 +0000 |
| Subject: | #32618 [NEW]: Non returned data | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-76700@lists.php.net to get a copy of this message | ||
From: christophe dot foiret at valdoise dot fr
Operating system: Linux RedHat
PHP version: 4.3.9
PHP Bug Type: ODBC related
Bug description: Non returned data
Description:
------------
Short Description : Non returned data with RAD php application (dbqwiksite
3.5)
Detail : On a Linux Server with php 4.3.2 and unixODBC driver from
EasySoft.
The pbm is clearly identified. A php page calls functions in the file
qs_functions.php.
All parameters to the DB (Oracle) have been verified and correct
(connection, select, update ...)
When I call the php page on this server no data is returned !!!
When I call the same php page on a Windows 2000 server with php 4.3.3,
date are returned.
When I desactivate the call of the function odbc_fetch_into in the
script,data are returned.
I think that the call of odbc_fetch_array after the call of
odbc_fetch_into triggers this error !
Is it a php bug ?
Thank you in advance, it's urgent
Reproduce code:
---------------
<?php
function qsodbc_num_rows($res)
{
$rowcount = odbc_num_rows($res);
if ($rowcount < 0) {
$rowcount = 0;
while(odbc_fetch_into($res,$fields,1)){
$rowcount++;
}
}
return $rowcount;
}
function qsodbc_fetch_array($res,$row_num)
{
$row = array();
$result = array();
if ($row_num > 0) {
$result = odbc_fetch_row($res,$row_num);
} else {
$result = odbc_fetch_row($res);
}
if ($result) {
$nf = odbc_num_fields($res);
for($i=0; $i < $nf; $i++) {
$field_value = odbc_result($res, $i + 1);
$row[$i] = $field_value;
}
return $row;
}
}
$sql_ext = "";
$conn = odbc_connect("dsn", "user", "pwd");
$sql .= " Select * from table";
if(!$result = @odbc_exec($conn,$sql . " " . $sql_ext)){
$err_string .= "<strong>Erreur</strong> while connecting.<br>" .
odbc_errormsg();
}
if ($result > 0) {odbc_free_result($result);}
$result = odbc_exec($conn,$sql)
or die("Invalid query");
$num_rows = qsodbc_num_rows($result);
echo "Rows=".$num_rows;
while ($row = qsodbc_fetch_array($result,1)) {
print "<br>EXT ".$row[1]." * ".$row[2]." *
".$row[3]."<br>";
}
odbc_close($conn);
?>
Expected result:
----------------
Display of the data
Actual result:
--------------
No data displayed
--
Edit bug report at http://bugs.php.net/?id=32618&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=32618&r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=32618&r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=32618&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=32618&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=32618&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=32618&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=32618&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=32618&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32618&r=support
Expected behavior: http://bugs.php.net/fix.php?id=32618&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=32618&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=32618&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=32618&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=32618&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=32618&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=32618&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32618&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=32618&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=32618&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=32618&r=mysqlcfg