From: joesterg at hotmail dot com Operating system: Windows 2000 Server PHP version: 5.0.3 PHP Bug Type: Strings related Bug description: when using trim(...) loop stops
Description: ------------ Whenever trim(...) is used on the $value=trim($colstr->value); line, the loop stops. However, splitting the line in two: $value=$colstr->value; $value=trim($value); makes the loop work as expected... Reproduce code: --------------- $this->DBResult=$this->DBCon->Execute($sqlQuery); $num_columns = $this->DBResult->Fields->Count(); $this->DBResultSet=null; for($i=0; $i < $num_columns; $i++) { $colstr=$this->DBResult->Fields($i); $name=$colstr->Name; toLog("DB_ADO.query","3.0: i=".$i.", Fields=".$colstr."/".$name.", num_columns=".$num_columns); $value=trim($colstr->value); toLog("DB_ADO.query","3.1: i=".$i.", Fields=".$colstr."/".$name."/".$value.", num_columns=".$num_columns); $this->DBResultSet[$rowcount][$name]=$value; toLog("DB_ADO.query","3.2: this->DBResultSet[rowcount][name]=".$this->DBResultSet[$rowcount][$name]); } Expected result: ---------------- DBCon is an ADO connection to SQL Server 2000. I expect to have the code loop through the columns found in the query, assigning each column a value in the DBResultSet array. Seeing the following in the log: 2005.01.24-21.43:02***DB_ADO.query***1: select statement 2005.01.24-21.43:02***DB_ADO.query***2: num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.0: i=0, Fields=4/id, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=0, Fields=4/id/4, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=4 2005.01.24-21.43:02***DB_ADO.query***3.0: i=1, Fields=jqj/username, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=1, Fields=jqj/username/jqj, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=jqj 2005.01.24-21.43:02***DB_ADO.query***3.0: i=2, Fields=8ad8757baa8564dc136c1e07507f4a98/password, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=2, Fields=8ad8757baa8564dc136c1e07507f4a98/password/8ad8757baa8564dc136c1e07507f4a98, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=8ad8757baa8564dc136c1e07507f4a98 2005.01.24-21.43:02***DB_ADO.query***3.0: i=3, Fields=Jørgen Østergaard/realname, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=3, Fields=Jørgen Østergaard/realname/Jørgen Østergaard, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=Jørgen Østergaard 2005.01.24-21.43:02***DB_ADO.query***3.0: i=4, [EMAIL PROTECTED]/email, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=4, [EMAIL PROTECTED]/email/[EMAIL PROTECTED], num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->[EMAIL PROTECTED] 2005.01.24-21.43:02***DB_ADO.query***3.0: i=5, Fields=-/phone, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=5, Fields=-/phone/-, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=- 2005.01.24-21.43:02***DB_ADO.query***3.0: i=6, Fields=-/fax, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=6, Fields=-/fax/-, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=- 2005.01.24-21.43:02***DB_ADO.query***3.0: i=7, Fields=DEA/companycode, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=7, Fields=DEA/companycode/DEA, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=DEA 2005.01.24-21.43:02***DB_ADO.query***3.0: i=8, Fields=ADMIN/role, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=8, Fields=ADMIN/role/ADMIN, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=ADMIN 2005.01.24-21.43:02***DB_ADO.query***3.0: i=9, Fields=EN/languagecode, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=9, Fields=EN/languagecode/EN, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=EN Actual result: -------------- >From the log: 2005.01.24-21.41:15***DB_ADO.query***1: select statement 2005.01.24-21.41:15***DB_ADO.query***2: num_columns=10 2005.01.24-21.41:15***DB_ADO.query***3.0: i=0, Fields=4/id, num_columns=10 -- Edit bug report at http://bugs.php.net/?id=31681&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=31681&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=31681&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=31681&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=31681&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=31681&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=31681&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=31681&r=needscript Try newer version: http://bugs.php.net/fix.php?id=31681&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=31681&r=support Expected behavior: http://bugs.php.net/fix.php?id=31681&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=31681&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=31681&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=31681&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=31681&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=31681&r=dst IIS Stability: http://bugs.php.net/fix.php?id=31681&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=31681&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=31681&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=31681&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=31681&r=mysqlcfg