【问题标题】:Kohana PHP, ORM and MySQL BLOBsKohana PHP、ORM 和 MySQL BLOB
【发布时间】:2010-09-16 20:58:55
【问题描述】:

我正在尝试通过 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 .

此外,输入的文件并不总是损坏 - 较小的文件(例如图像)往往没问题。

有人有什么想法吗?

【问题讨论】:

    标签: php mysql orm kohana blob


    【解决方案1】:

    事实证明,在这种情况下,我使用的是 BLOB 数据类型。

    BLOB 数据类型在 65535 个字符处截断数据(静默,不会抛出错误!)

    我已将其升级为 MEDIUMBLOB(最大长度为 16777215 个字符),它似乎工作正常!

    【讨论】:

      【解决方案2】:

      猜测,但是:可能是因为 kohana 模型层将所有数据作为字符数据而不是二进制数据插入,这会给您在保存/检索 BLOB 对象时带来麻烦。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-10
        • 1970-01-01
        • 1970-01-01
        • 2012-12-11
        • 2011-10-23
        • 1970-01-01
        相关资源
        最近更新 更多