ID: 26315 Comment by: francois dot zietlow at ri-solution dot com Reported By: webmaster at cbre dot fr Status: Bogus Bug Type: MSSQL related Operating System: Windows 2000 Server PHP Version: 4.3.4 New Comment:
I think that is a Bug, too. I have the same Problem. It's not a solution to trim any value. Or?? @iliaa: Please write why do you think it's not a Bug. Thanks! Francois Previous Comments: ------------------------------------------------------------------------ [2004-03-16 13:29:50] webmaster at groupphotographers dot com THIS most DEFINITELY is a BUG! I have built a VERY LARGE DB driven PHP site. In many places, I check to see if the DB field was empty or not. Before, Fetch always returned an empty string or a NULL, it doesn't matter which because it evaluated to a FALSE, and now it returns a space character which evaluates to TRUE! This is quite nasty. I'm going to add this ME TOO comment because it hasn't been fixed yet, and it really needs to be...PLEASE! ------------------------------------------------------------------------ [2004-02-26 01:47:10] dneilsen at iprimus dot com dot au I too have encountered this bug with windows 2003 server using version 4.3.4 of php. Where as previously my empty varchar fields where returned as '' they are now returned as ' ' which has caused several of my applications to fail. ------------------------------------------------------------------------ [2003-12-01 20:29:11] php at electricsurfer dot com THIS IS A BUG new to 4.3.4. Introduced by removing the auto-trimming While the change is a good one, if '' is in the DB, mssql_fetch_* should NOT return ' ' IN DB: '' (empty string) Returned by mssql_fetch_assoc(): ' ' (single space) ------------------------------------------------------------------------ [2003-11-21 11:33:13] jabberwocky at ibplanet dot com also, instead of returning 0 it is now also returning a space if there is a 0 in the DB ------------------------------------------------------------------------ [2003-11-21 07:56:06] w1lz0r at barrysworld dot net This is a bug, as there is no space in the database. The change from not auto-trimming is a good one IMO, but the behaviour of empty fields is different now. Any character field which is empty (e.g. '') and not null will be returned as a space. My application no longer worked correctly after the 4.3.4 change and I have to now manually do (if ($field==' ') $field='';). This is a major change from previous versions and a bug as the mssql functions should return what is IN the database. Maybe this is the reason why the rtrim was done in the past? Please re-evaluate. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/26315 -- Edit this bug report at http://bugs.php.net/?id=26315&edit=1