gpt4 book ai didi

php - Zend Framework MySQL query() 插入长文本的问题

转载 作者:行者123 更新时间:2023-11-29 07:10:29 26 4
gpt4 key购买 nike

我有一个类:

class Content_IndexModel extends Zend_Db_Table_Abstract {}

我想使用以下方法将新行插入到某个表中:

$this->getAdapter()->query();

(我不能使用 insert() 方法,因为我需要放置“ON DUPLICATE KEY UPDATE ...”)

查询看起来像这样:

INSERT INTO some_table
VALUES (null, 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam. Nulla quis pulvinar quam.')

如果我在文本字段中再添加一个字符,我会遇到严重错误,apache 正在重新启动,日志为空,屏幕上没有任何内容 - 魔数(Magic Number)是 342 - 如果我尝试插入更长的文本服务器正在崩溃:

[Thu Jan 27 11:29:10 2011] [notice] Parent: child process exited with status 255 -- Restarting.
[Thu Jan 27 11:29:11 2011] [notice] Apache/2.2.11 (Win32) PHP/5.3.0 configured -- resuming normal operations
[Thu Jan 27 11:29:11 2011] [notice] Server built: Dec 10 2008 00:10:06
[Thu Jan 27 11:29:11 2011] [notice] Child 2540: Child process is running
[Thu Jan 27 11:29:11 2011] [notice] Child 2540: Acquired the start mutex.
[Thu Jan 27 11:29:11 2011] [notice] Child 2540: Starting 64 worker threads.
[Thu Jan 27 11:29:11 2011] [notice] Child 2540: Starting thread to listen on port 80.

我试过几个不同的表 - 总是 342 没问题,343 和更多 - 错误。两个 342 个字符的文本字段也可以,但是当其中一个更长时 - 错误。另一个 PHP 版本,5.2.11 而不是 5.3.0 - 同样的错误。将 ZF 从 1.10.8 升级到 1.11.2 - 同样的错误。

当我使用 phpMyAdmin 运行此查询时,一切正常,所以我认为问题出在 ZF 上。

有什么想法吗?

最佳答案

这有助于避免问题(但仍然不是问题的解决方案):

try {
$this->insert(...);
} catch (Exception $e) {
$this->update(...);
}

编辑:

在此处找到另一个解决方法:Zend_Db Query crashes on insert more than 358 characters

使用这个:

$this->getAdapter()->getConnection()->query();

而不是这个:

$this->getAdapter()->query();

关于php - Zend Framework MySQL query() 插入长文本的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4815489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com