2011-06-02 72 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块即可解决问题。奇怪的是,没有发现任何异常。

相关问题