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