Hi Peter, Thanks for this. I have been waiting for the PHP Manuals to include documentation on the interbase BLOB functions. I need to find a real connection and download it <grin> Actually my problem was that I have 2 machines - Windows (development and testing) and Linux (Server). The site was initially made in an all Linux environment. Now I am maintaining and expanding on my Windows box. The problem was with the fopen(<file> "r") which on Windows needs to be fopen(<file>, "rb") for binary files. It is all working now. Thanks again to all. David Russell IT Support Manager Barloworld Optimus (Pty) Ltd Tel: +2711 444-7250 Fax: +2711 444-7256 e-mail: DavidR@BarloworldOptimus.com web: www.BarloworldOptimus.com -----Original Message----- From: Peter Beckman [mailto:beckman@purplecow.com] Sent: 29 October 2002 05:47 PM To: David Russell Cc: php-db@lists.php.net Subject: Re: Interbase BLOB problem Your SQL query doesn't need that semicolon at the end of the query -- lose it. I never used ibase, so here's what I found from the PHP Manual page for ibase_query: Using BLOB Insert BLOB: /* create blob */ $blob_id = ibase_blob_create(); /* fill blob */ ibase_blob_add($blob_id, $var_datablob); /* close new blob */ $blob_id_str = ibase_blob_close($blob_id); /* insert into table */ ibase_query("INSERT INTO BLOB_TABLE (ID, BLOB) VALUES (1, ?)",$blob_id_str); Open BLOB: /* query */ $set = ibase_query("SELECT BLOB FROM BLOB_TABLE WHERE ID = 1"); /* fetche a row */ $row = ibase_fetch_object($set); /* open BLOB for read */ $blob_id = ibase_blob_open($row->BLOB); /* get BLOB data */ $stringBLOB = ibase_blob_get($blob_id); /* print BLOB */ echo $stringBLOB; /* close new blob */ ibase_blob_close($blob_id); /* free result */ ibase_free_result($set); Peter On Tue, 29 Oct 2002, David Russell wrote: > Hi all, > > I have a file I need to insert into a blob in a interbase table. Code > as > follows: > > $filehandle = fopen($file, "r"); > $blob_id = ibase_blob_import($filehandle); > $qry = "INSERT INTO BPFATTACHMENTS "; > $qry = $qry . "(BPFATTACHMENTNO, BPF, ATTACHMENTTYPE, FILENAME, > FILESIZE, ATTACHMENT)"; > $qry = $qry . "VALUES"; > $qry = $qry . "($bpfAttNo, $BPFNo, $AttachmentType, '$file_name', > $file_size, ?);"; > $res = ibase_query($qry, $blob_id); > > I have a ibase_pconnect prior to this. > > The problem is that is only adds a tiny part of the file (ie 5k of the > 200k file) What should I be looking for? > > Thanks > > David Russell > IT Support Manager > Barloworld Optimus (Pty) Ltd > Tel: +2711 444-7250 > Fax: +2711 444-7256 > e-mail: DavidR@BarloworldOptimus.com > web: www.BarloworldOptimus.com > ------------------------------------------------------------------------ --- Peter Beckman Systems Engineer, Fairfax Cable Access Corporation beckman@purplecow.com http://www.purplecow.com/ ------------------------------------------------------------------------ --- -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Attachment:
smime.p7s
Description: application/pkcs7-signature