Kohana的PHP,ORM和MySQL的BLOB
题
我想创建并通过的Kohana的ORM图书馆检索在MySQL表中的BLOB。
代码看起来是这样的:
$attachment = new Attachment_Model();
$attachment->name = $info['FileName'];
$attachment->size = strlen($info['Data']);
$attachment->data = $info['Data'];
$attachment->mime_type = $info['content-type'];
$attachment->save();
我已验证的数据是通过将其输出到文件在此点确定。然而,当我检索数据弄出来损坏。我已经成功地缩小这个下来多一点 - 我已经使用了MySQL查询工具来提取数据保存在数据库中,我可以验证数据库中的数据被损坏,所以这个问题必须在INSERT
另外,输入的文件不总是损坏 - 较小的文件(如图像)往往是确定
。任何人有什么想法?
解决方案
结果证明,在这种情况下,我使用BLOB数据类型。
在BLOB数据类型在65535个字符截断数据(静默,而不发出一个错误!)
我也调升为MEDIUMBLOB(其中有16777215个字符的最大长度),它似乎工作OK!
其他提示
野生猜测,但:可能是因为Kohana的模型层插入所有数据为字符数据,而不是二进制的,保存/检索BLOB对象时,这将导致问题的时候
不隶属于 StackOverflow