(PHP+SYBASE) Как сохранить значение в поле с типом BLOB?

Greedy
Дата: 10.08.2006 17:46:24
$filename = $_FILES['userfile']['tmp_name'];
$fd = fopen ($filename, "r");
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
$imgData =addslashes($contents);

$query = "Exec sp_InsertFile ".$id.",'".$_FILES['userfile']['name']."','".$imgData."'" ;
$result = sybase_query($query);

вот код который как пишут другие у них прекрасно работает и картинки в базу загружаются,а у меня ругается гад следующим образом:

Warning: sybase_query(): Sybase message: Line 4: Incorrect syntax near ')'. (severity 15)

и потом подряд несколько сообщений:

Warning: sybase_query(): Sybase message: The identifier that starts with '2ЃB‘Ў±Б #3RрbrС $4б%с&\'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ѓ„…†‡€‰Љ’“”•–—µ\0\0w\0ИЙКТУФХЦЧШЩЪв' is too long. Maximum length is 128. (severity 15)

что за фигня?! и как сделать так чтобы все работало?
Пчеловод
Дата: 11.08.2006 12:30:23
код хранимой процедуры покажите...
и что у вас в $id записано?
Greedy
Дата: 11.08.2006 16:06:18
CREATE PROCEDURE sp_InsertFile (@id int,@FileName varchar(255),@File image) AS
BEGIN
set nocount on
Delete From DocFile Where ID=@id
insert into DocFile (ID,FileName,File) values (@id,@FileName,@File)
END

GO

причем совсем маленькие файлы типа мелких иконок проскакивают(но обратно все равно в том же виде не сохраняются, наверное что то в содержимом при пересылке изменяется) ,вот содержание строки запроса

Exec sp_InsertFile 2895,'Icon1.ico','\0\0\0\0\0\0\0\0\0°\0\0\0\0\0\0(\0\0\0\0\0\0 \0\0\0\0\0\0\0\0\0Ђ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0яяя\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ю\0\0ю\0\0я\0\0я\0\0ю\0\0ю\0\0ю\0\0ь\0\0ш?\0\0ш?\0\0р\0\0А\0\0Ђя\0\0я\0\0я\0\0Џя\0\0'