|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-01-24 21:50 UTC] derick@php.net
[2005-01-24 21:54 UTC] joesterg at hotmail dot com
[2005-01-25 15:06 UTC] sniper@php.net
[2005-02-02 01:00 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 15:00:02 2025 UTC |
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, Fields=jorgen.ostergaard@endjin.com/email, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.1: i=4, Fields=jorgen.ostergaard@endjin.com/email/jorgen.ostergaard@endjin.com, num_columns=10 2005.01.24-21.43:02***DB_ADO.query***3.2: this->DBResultSet[rowcount][name]=jorgen.ostergaard@endjin.com 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