2012-07-10 101 views
0

我試圖在我的日誌表中插入日誌記錄。但不知何故,當字段值長度超過199個字符,我的Apache重新啓動,我的瀏覽器說net :: ERR_CONNECTION_RESET。 我使用Zend框架,所以我插入我的紀錄,下面的代碼行:zend查詢最大字段長度

$db = Global_Db_Connection::getInstance(); 
    $sql = "INSERT INTO log_table (log) VALUES ('ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd')"; 
    $db->query($sql); 

如果我不使用框架,使用:

mysql_query($sql); 

然後我沒有任何問題。

任何人都可以告訴我如何解決這個限制在Zend?

在FreeBSD上試過這個同樣的問題。我還發現,當試圖將其插入到不存在的表中時,它將返回相同的錯誤。只有在縮短該值後,纔會出現該表不存在的錯誤。

+0

您是否嘗試使用本機PDO? – 2012-07-10 08:56:38

+0

我不完全明白你的意思,但我在我的ini文件中有database.adapter = pdo_mysql – fr0sty 2012-07-10 14:52:11

+0

Apache/PHP在Windows上運行嗎? – drew010 2012-07-10 17:24:20

回答

0

可能遲到回答,但我有靈魂。對於Zend的兩個解決方案,我發現:

  1. $db->getConnection()->query($sql); // use getConnection()

  2. $db->exec($sql);

這個問題是因爲內存堆棧大小。在Linux上,堆棧根據需要增長,但在Windows上,由於堆棧大小,此問題會冒泡。爲此,在php.net中提出了一張票(here)看一看。請享用!!!