Zend_Db_Table插入大内容的问题

时间:2012-03-02 19:33:42

标签: php zend-framework zend-db zend-db-table

我已经使用Zend Framework很长一段时间了,但是现在我遇到了一个令我困惑的问题。我有一个表(MySQL)只有2列(idmsg)。 id字段是自动增量值,msg字段是longtext类型。

以下代码可以很好地将记录插入表中:

$t = new Zend_Db_Table('table1');
$id = $t->insert(array('msg' => $content));

每当$content只是一个像'blah'这样的普通字符串值时,它就可以正常工作了。 但是fieldtype不是没有理由的longtext类型,内容会非常大。 所以现在我尝试在$content中放置大约14kb的数据,没有异常发生,数据库插入似乎有效,但仅适用于前6kb。剩下的数据刚刚消失了?!

当我尝试使用老式的mysql_connectmysql_query等惯例时,它就像一个魅力。所以它似乎真的是一个Zend框架问题...... 还有其他人经历过这个吗?

1 个答案:

答案 0 :(得分:0)

配置

  • Zend Framework v1.11.10
  • Zend_Db_Table配置了PDO_MYSQL适配器
  • MySQL数据库表两列; id(autoincrement)

问题

  • 尝试将INSERT 14kb的UTF8编码HTML转换为longtext
  • Zend_Db_Table截断6kb的数据

测试

  • mysql_query可以INSERT相同的数据而不会出现问题
  • Zend_Db_TableSELECT所有数据无问题
  • 设置error_reporting(-1)显示'没有错误,警告或通知'
  • mediumblob工作正常

隔离问题

  • 将列更改为mediumtext插件现在有效吗?
  • 您检查了查询的实际内容吗?请参阅 namesnik 上面的评论。
  • 在失败的插入上写入多少字节? 是否一致?