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

Reply via email to