Req #33221 [Opn->Csd]: sybase-ct: Varchar >255 not supported
| From: | cmb@php.net | Date: | Tue, 03 Aug 2021 15:43:15 +0000 |
| Subject: | Req #33221 [Opn->Csd]: sybase-ct: Varchar >255 not supported | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-235572@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=33221&edit=1
ID: 33221
Updated by: cmb@php.net
Reported by: graham1 dot simpson at hsbcib dot com
Summary: sybase-ct: Varchar >255 not supported
-Status: Open
+Status: Closed
Type: Feature/Change Request
Package: Sybase-ct (ctlib) related
Operating System: Linux Redhat AS 3.0
PHP Version: 5.0.4
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
The sybase extension is no longer available as of PHP 7.0.0, so
this ticket is obsolete.
Previous Comments:
------------------------------------------------------------------------
[2005-06-02 16:05:54] graham1 dot simpson at hsbcib dot com
Description:
------------
PHP client application truncates text/varchar columns to 255 chars, even when compiled with a new
Sybase CT open client.
-
I think this is more of a feature enhancement request rather than a bug per se.
-
Load the form mentioned belowin your web browser and add data until bigger than 255.
My environment is php 5.0.4 under apache 2.0.48 with --with-sybase-ct option compiled in. The
version of open client is 12.5.1. which supports large varchars.
Reproduce code:
---------------
To reproduce:
% cat <<EOT >testform.php
<html>
<head>
<title>testform
</title>
</head>
<body>
<?php
require_once ("dbconfig.php");
if ($_POST[Submit]) {
$servercomments = $_POST[servercomments];
$qry = "update tempdb..gsi set Key1 = '" . $servercomments . "'";
$result = sybase_query($qry,$cnn);
}
$qry = "select Key1 from tempdb..gsi";
$result = sybase_query($qry,$cnn);
$row = sybase_fetch_array($result);
$servercomments = $row[Key1];
echo "<form action=\"ta.php\" method=\"post\">";
echo "<textarea rows=20 cols=80 name=servercomments>";
echo "$servercomments\n";
echo "</textarea>";
echo "<input type=\"submit\" name=\"Submit\" value=\"Do
It\">";
echo "</form>";
?>
</body>
</html>
EOT
In isql:
use tempdb
go
create table gsi (Key1 varchar(1500))
go
insert gsi values ("somevalue")
go
Expected result:
----------------
Ideally, I would expect to get my row returned when bigger than 255 characters.
Actual result:
--------------
As the PHP client cannot handle varchars > 255, a server error is generated informing that a
truncation has occurred:
Warning: sybase_query() [function.sybase-query]: Sybase: Server message: Character or binary data
returned from Adaptive Server has been truncated. The client application does not support more than
255 bytes of data as a result column or output parameter. (severity 10, procedure N/A) in
/home/sybase/public_html/testform.php on line 20
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=33221&edit=1