ID: 12492
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Open
+Status: Closed
Bug Type: ODBC related
Operating System: Win NT
PHP Version: 4.0.6
New Comment:
I believe this is now fixed. Thank you for your bug report
Previous Comments:
------------------------------------------------------------------------
[2001-07-31 15:32:19] [EMAIL PROTECTED]
Correction: I have tracked down the source of the problem; still a
bug.
Code was actually like this:
for ($i=1; $i<=odbc_num_fields($result); $i++)
if (odbc_result($result,$i)) {
$name = odbc_field_name($result,$i);
$value = odbc_result($result,$i);
}
The second odbc_result returned false, the first returned the string.
I solved by assigning to a variable.
New bug:
for ($i=1; $i<=odbc_num_fields($result); $i++) {
$test = odbc_result($result,$i);
if (odbc_field_name($result,$i) == 'Description') {
echo $test;
echo odbc_result($result,'Description');
echo odbc_result($result,$i);
}
}
Only the first echo outputs any value. Any accesses after the first by
odbc_result to a memo field result in failure. Good programming
practice would dictate not to call odbc_result multiple times on the
same data, but this behaviour is still unexpected.
------------------------------------------------------------------------
[2001-07-31 14:39:50] [EMAIL PROTECTED]
If I access a memo field (Access 2000) by name:
$temp = odbc_result($result,'Description');
I get the expected result, a string value.
If I access the field by number:
for ($i=1; $i<=odbc_num_fields($result); $i++)
if (odbc_field_type($result,$i) == 'LONGCHAR')
$temp = odbc_result($result,$i);
odbc_result fails, returning false.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=12492&edit=1