【发布时间】:2014-06-10 22:11:03
【问题描述】:
如何使用 PEAR DB 库和 sql 插入 SQL“图像”字段,如下所示:
insert into MyTable (myBlob) values (BlobData)
其中 BlobData 是使用 file_get_contents 获得的,如下所示:
"BMN\x0\x0\x0\x0\x0\x0\x06\x0\x0\x0(\x0\x0\x0\x2\x0\x0\x0\x3\x0\x0\x0\x1\x0\x18\x0\x0\x0\x0\x0\x18\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0ÿÿÿÿÿÿ\x0\x0\x0\x0ÿÿÿÿ\x0\x0ÿÿÿÿÿÿ\x0\x0"
我收到语法错误,我猜我需要以某种方式转义数据。 php代码:
$data = file_get_contents('c:\\temp\\test.bmp');
$sql = "insert into MyTable (myBlob) values ('".$data."'); //just using inline sql for now to get it working
$db->query($sql);
【问题讨论】:
-
请出示您的 PHP 代码
-
我编辑显示我的代码
-
为了存储像图像这样的二进制文件,你应该使用另一个存储,例如 - MogileFS。它比从 db 中选择字段更好。此外,Web 服务器非常适合缓存图像
-
在尝试执行之前,您是否尝试过转义二进制文件的内容?
-
由于遗留代码原因,我必须使用 SQL 'Image' 数据类型。