#32582 [Opn->Bgs]: Stored procedure can not return a data typed varchar more than 255 bytes
| From: | fmk@php.net | Date: | Tue, 05 Apr 2005 03:39:31 +0000 |
| Subject: | #32582 [Opn->Bgs]: Stored procedure can not return a data typed varchar more than 255 bytes | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-76348@lists.php.net to get a copy of this message | ||
ID: 32582
Updated by: fmk@php.net
Reported By: liyong at nenu dot edu dot cn
-Status: Open
+Status: Bogus
Bug Type: MSSQL related
Operating System: Win2K
PHP Version: 5.0.3
New Comment:
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
The dblib library from Microsoft used to generate the MSSQL extension
on Windows has not been updated since SQL Server 6.5. It's not possible
to to fix this problem with Microsofts library.
Use text type to return values longer than 255 bytes.
I have a test version of php_dblib.dll available on my home page
(http://kromann.info/php.php). So far it's only available for php 5.1.
It uses FreeTDS where the limmitations from the MS Library has been
fixed. All functions names are still mssql_* so it's a very simple
replacement
Previous Comments:
------------------------------------------------------------------------
[2005-04-05 05:05:20] liyong at nenu dot edu dot cn
sorry,it's 5.0.3,not 5.0.4
------------------------------------------------------------------------
[2005-04-05 04:57:38] liyong at nenu dot edu dot cn
this problem is also scripted at
http://www.nb321.com/phppost4/php34086.htm
------------------------------------------------------------------------
[2005-04-05 04:52:21] liyong at nenu dot edu dot cn
Description:
------------
I want return varchar(600) from stored procedure,but it is shortened to
255 bytes.
Reproduce code:
---------------
stored procedure:
create procedure p_bug
@msg varchar(600) output
as
set @msg='something more than 255 bytes ......'
PHP statement:
$stmt=mssql_init('p_bug');
mssql_bind($stmt,"@msg",&$msg,SQLVARCHAR,TRUE);
$result=mssql_execute($stmt);
echo $msg;
Expected result:
----------------
something more than 255 bytes ......
Actual result:
--------------
something shortened to 255 bytes
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32582&edit=1