【发布时间】:2013-03-21 14:01:24
【问题描述】:
我正在尝试使用 (cakephp) 将图像插入到 BLOB 列中的 sqlite DB。
我正在使用此代码
$insert = "INSERT INTO story (page, image)
VALUES (:page, :image)";
$stmt = $file_db->prepare($insert);
// Bind parameters to statement variables
$img = file_get_contents($this->request->data['image']['tmp_name']);
$img = mysql_real_escape_string($img);
$stmt->bindParam(':page', $this->request->data['page']);
$stmt->bindParam(':image', $img);
// Execute statement
$stmt->execute();
它正在插入,但字符集不是 Blob 数据,因为它应该是.. 有没有其他方法可以做到这一点,否则我的代码有什么问题?
【问题讨论】:
-
不要使用blob,而是将图像存储在一个文件夹中并将
filename.extension保存在SQL中,这样它就不会增加你的数据库大小 -
你得到了什么字符集?
-
我必须将它保存在 DB 上 :) 因为这个 DB 应该稍后转移到 Android :) 并且字符集类似于 PNG\r\n\Z\n\0\0\ 0\rIHDR\0\0,\0\0�\0\0\0\Z/��\0\0\0 pHYs\0\0\0\0\0��\ 0\0\0 cHRM\0\0z%\0\0��\0\0��\0\0��\0\0u0\0\0�`\0\0 :�\0\0o�_�F\0��IDATxÚ����u&\n�}������Ld&��0%\ 0\0��8I\"EÊL[�e�eW���Uv����j���������z]ï ¿½ï¿½ï¿½ï¿½êª®zU�T�m�$K�HM�(��L\0�\0cN�y��F�9g�;��sï ¿½^�_.JH�!��9{ï¿
-
请发布您的 php、cake 和 sqlite 版本。
-
我觉得这里不需要
mysql_real_escape_string()?