|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-02-23 15:59 UTC] Joe at sofusion dot com
Description:
------------
When using mssql_fetch_arry and mssql_fetch_row, data returned that contains 2 spaces has been concatinated to one space. Example:
Data returned should be "Two"' '' '"Spaces" (without quotes Two Spaces)
But is returned as "Two"' '"Spaces" (without quotes -Two Spaces with one space between)
FreeBSD WEBSERVER1.SOFUSION.local 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 root@x64.samsco.home:/usr/obj/usr/src/sys/GENERIC i386
Build Date Feb 22 2007 19:36:38
Configure Command './configure' '--with-apxs=/usr/local/apache/bin/apxs' '--enable-versioning' '--with-mssql=/usr/local' '--enable-libxml'
Library version FreeTDS
Reproduce code:
---------------
--MSSQL TABLE
CREATE TABLE #T1( Name varchar(255),
Number int )
INSERT INTO #T1 VALUES('Two Spaces',1)
INSERT INTO #T1 VALUES('One Spaces',2)
--PHP CODE
$sql = "select Name FROM Name_TBL WHERE Number = '1'";
$rs = mssql_query($sql);
$RT = mssql_fetch_array($rs);
$Name= $RT[Name'];
--This should have 2 spaces in it like the DB
--But it only has one
echo $Name
Expected result:
----------------
Two Spaces
--This has 2 spaces between the words.
Actual result:
--------------
Two Spaces
--This only hase 1 space between the words
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 22:00:01 2025 UTC |
Sorry, dont use # in TBL Name. USE THIS DB CODE AND PHP CODE TO TEST: CREATE TABLE T1( Name varchar(255), Number int ) INSERT INTO T1 VALUES('Two Spaces',1) INSERT INTO T1 VALUES('One Spaces',2) $sql = "SELECT Name FROM T1 WHERE Number = '1'"; $rs = mssql_query($sql); while ($RT = mssql_fetch_array($rs)) {$Name= $RT['Name']; //This should have 2 spaces in it like the DB //But it only has one echo ' <p>Name = '.$Name . '</p>'; }When I use the <pre></pre> tags, It does display the correct data. Is this telling me that it is HTML that is concatinating the 2 spaces into one? Also you can use: $Name = str_replace (' ', ':', $RT['Name']); echo ' <p>Name2 = '.$Name . '</p>'; to see the 2 spaces. When you duplicate the bug, do you have 2 spaces between the words in your browser? Thanks!!