What does "will not work" mean?
It's as easy to store information in BLOBs as any other column type:
====================================
// $filecontents contains a large chunk of bytes
// $id is a unique integer (just an example)
$SQLfilecontents = addslashes($filecontents);
$SQLid=(int) $id
$SQL = "
insert into tablename (id,blobfield)
values ($SQLid,' $SQLfilecontents')
";
// Do the query
Getting the contens of the blob:
$SQLid=(int) $id;
$SQL="
select blobfield
from sqltablename
where id=$SQLid
";
// do query, so that the blob is put in $blob
// note that stipslashes() should normally not
// be applied to the retrieved data (one might
// think that stripslashes() would be needed
// after addslahes(), but that's not the case
$HTMLblob=htmlspecialchars($blob);
print "<p>Here's the contents of the blob:</p>
<pre>$HTMLblob</pre>";
Note that addslashes() should not be used if your PHP is configured to use the annoying "magic_quotes_gpc" feature.
Finally: Note that a BLOB field may sometimes be too small (if you upload images to the database). Then use a LONGBLOB column instead.
Sometimes, the database server needs adjustments if you send it very large pieces of input. If you use MySQL, then there is information about the subject here:
http://www.mysql.com/documentation/mysql/bychapter/manual_Problems.html#Gone_away