2011-06-02 47 views
0

我使用Zend Framework。代碼Zend Framework mysql查詢返回服務器500錯誤

$this->_db->query("INSERT INTO blog SET ....") 

返回500錯誤。但如果我將其替換爲

mysql_query("INSERT INTO blog SET ....") 

一切都好。什麼可能是錯誤的?

+0

錯誤日誌中的任何內容? – JohnP 2011-06-02 14:29:50

+0

沒什麼,但它是共享主機,所以可能不是所有顯示的錯誤。我應該在localhost上添加一切都很好! – 2011-06-02 14:31:32

+0

甚至共享主機應該產生一些東西。甚至沒有在Apache日誌? – JohnP 2011-06-02 14:34:10

回答

0

我認爲你的SQL語法是錯誤的。正確的語法:

INSERT INTO table (fields) VALUES (values) 

編輯:哦,對不起,只是讀取您的mysql_query()正在使用相同的SQL。正如別人推薦,我建議檢查日誌。

1

您確定$this->_db是您期望的嗎?

如果您使用的是默認ErrorController,設置

resources.frontController.params.displayExceptions = 1

在/application/config/application.ini

應該給你錯誤的回溯。另外,如果它確實只是生成異常的查詢,那麼可以將它封裝在try/catch中並查看異常。

try { 
     $this->_db->query("INSERT INTO blog SET ...."); 
    } catch(Exception $e) { 
     echo $e->getMessage(); 
    } 
0

十分肯定你的$this->_db不是Zend_Db_Adapter_Abstract的實例:)更可能是NULL;)

0

我有同樣的問題與Zend的select語句。只需在$ this-> fetchRow($ select)行周圍添加try..catch塊即可解決問題。奇怪的是,沒有發現任何異常。

相關問題