ID: 26012
Updated by: [email]sniperphp.net[/email]
Reported By: boccara at netvision dot net dot il
-Status: Closed
+Status: Bogus
Bug Type: MSSQL related
Operating System: win2k SBS SP4 & Apache 2.0.47
PHP Version: 4.3.4RC2


Previous Comments:
------------------------------------------------------------------------

[2003-10-29 14:34:07] [email]fmkphp.net[/email]

The code was changed to fix a bug (#25777). This causes an other
problem as there is a bug in the mssql library we use to build the
extension. It has not been possible to gen an updated version of this
library from Microsoft.

Your code seamed to work fine with older versions of the extension, as
all char and varchar fields was trimmed for trailing spaces. This is no
longer the case and the fact that the library returns a single space
when the column is empty and when the column contains a single space is
not a problem with the php extension.

For older versions of the extension it was not possible to store a
value with spaces at the end, these would be trimmed out by the
extension.

The way the extension works now is the correct way (data is passed on
from the database to the user ast it is).

------------------------------------------------------------------------

[2003-10-29 12:07:23] boccara at netvision dot net dot il

the bug 25777 tell that php did a trim of the data, and now it's fix.

I did this request in the transact sql:
select DATALENGTH(rtrim(a)) from test

I got 0 for all lines.

I also did
select DATALENGTH(a) from test

I also got 0 for all lines.

I ONLY got a space caractere when I do the request with php.
I think you should really take a look deeper in your code source.

REM: the only way to avoid the problem with 4.3.4 rc2 is to fill the
blank column with <NULL>.

------------------------------------------------------------------------

[2003-10-29 09:09:12] [email]sniperphp.net[/email]

I told you already: Bug #25777 was fixed in 4.3.4RC2..


------------------------------------------------------------------------

[2003-10-29 03:08:16] boccara at netvision dot net dot il

I agree with you, but why I only have this problem with the 4.3.4RC2
version ???????
I remind you that it works with 4.3.4RC1 and older version !

------------------------------------------------------------------------

[2003-10-28 17:32:14] [email]fmkphp.net[/email]

The C API provided from Microsoft is the problem in this cse. An ampty
column is returned as a single space and not as a true empty column (a
string with length 0). It is not possible to see the difference between
an empty column and a column with a single space.

In this case it is a bug, but not in PHP! As stated before the PHP
extensions sould not attempt to 'fix' data but just present them as is.

------------------------------------------------------------------------

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
[url]http://bugs.php.net/26012[/url]

--
Edit this bug report at [url]http://bugs.php.net/?id=26012&edit=1[/url]