php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #6601 blobs retrieved from database are limited to 32768 nibbles
Submitted: 2000-09-07 09:23 UTC Modified: 2000-10-09 10:46 UTC
From: koos at kzdoos dot xs4all dot nl Assigned:
Status: Closed Package: Sybase-ct (ctlib) related
PHP Version: 4.0.2 OS: Linux 2.2.17, redhat 6.2, sybase
Private report: No CVE-ID: None
 [2000-09-07 09:23 UTC] koos at kzdoos dot xs4all dot nl
I store blobs in sybase IMAGE fields and when I retrieve them I only get the first 32768 nibbles and nothing more.

I store them using:

$fp=fopen($userfile,'r');
$blob=bin2hex(fread($fp,filesize($userfile)));
$qid=sybase_query("
     INSERT INTO blob(blobtype_id,title,body)
     VALUES ($mimetypeid,'$blobtitle',0x".$blob.")");

and retrieve them using

$qid=sybase_query("
    SELECT blobtype.mimetype,blob.body
    FROM blob,blobtype
    WHERE blob.blob_id=$blobobjectid
    AND blob.blobtype_id=blobtype.blobtype_id",$conid);
if ($qid){
    list($blobtype_mimetype,$blob_body)=sybase_fetch_row($qid);
    header("Content-Type: $blobtype_mimetype");
    $bloblen=strlen($blob_body);
    echo pack("H".$bloblen,$blob_body);
}

using debug statements I found that $bloblen is never more then 32768, and the database contains bigger datalength's.

32768 is a round number so I guess I ran into some buffer size. What to do and how to get the bigger blobs.

PHP 4.0.2, apache 3.0.12
./configure --with-mysql --with-sybase-ct=/opt/sybase --with-apache=../apache_1.3.12 --enable-track-vars

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-09-27 23:58 UTC] andi@php.net
Closed thanks to Magnus Jonsson:

This is a Sybase configuration issue and not a bug. If you haven't specified
TEXTSIZE in
the Sybase Configuration the default is set to 32k. If you want to use
larger text or 
image fields change you Sybase Configuration or Use "SET TEXTSIZE (your
limit in bytes)" 
query to set this param before doing a query.

 [2000-10-09 10:46 UTC] koos at kzdoos dot xs4all dot nl
Thanks, this helped!
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Thu Jan 21 16:01:23 2021 UTC