#26315 [Com]: mssql_fectch_* functions are returning a space char on empty fields
| From: | webmaster at groupphotographers dot com | Date: | Tue, 16 Mar 2004 18:29:51 +0000 |
| Subject: | #26315 [Com]: mssql_fectch_* functions are returning a space char on empty fields | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-56554@lists.php.net to get a copy of this message | ||
ID: 26315
Comment by: webmaster at groupphotographers 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:
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!
Previous Comments:
------------------------------------------------------------------------
[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.
------------------------------------------------------------------------
[2003-11-19 09:42:17] iliaa@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
mssql extension no longer automatically trims varchar fields
------------------------------------------------------------------------
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