我刚刚完成了第一个使用zend框架构建的网站,并且在本地计算机上运行良好。
然后我将它上传到服务器(godaddy)并且除了我的模型与数据库之间的任何连接之外所有工作。我已经使用常规PDO与我的application.ini中的凭据建立了数据库的连接,并且它工作正常,如果它没有从数据库返回任何内容,我可以与模型进行交互(并且所有模型在本地计算机上都能很好地工作) )。
我的模特看起来像这样:
class Default_Model_picture extends Zend_Db_Table_Abstract
{
protected $_name = 'pictures';
protected $_primary = 'id';
public function getPicturesByCategory($category)
{
$query = $this->select()->from(array('pictures'), array(
'pictures.id', 'pictures.pic_name', 'pictures.pic_desc',
'pictures.pic_category', 'pictures.pic_date_added',
'pictures.pic_larger', 'pictures.pic_url'));
$query->where('pic_category = ?', $category);
$query->order('pic_date_added ASC');
$result = $this->fetchAll($query);
return $result;
}
}
这是一个模型的例子,显然我没有添加很多方法。
我不知道下一步该做什么。
答案 0 :(得分:0)
我假设您正确地将数据库连接设置为$ db。之后,您必须将其设置为Zend_Db_Table的默认适配器。
Zend_Db_Table::setDefaultAdapter($db);
我只是假设这是出了什么问题。但这是一个常见的问题,所以无论如何我决定继续回答。
答案 1 :(得分:0)
由于您的脚本在本地计算机上运行正常,我首先检查的是您是否在application.ini中正确设置了数据库连接参数
尝试编写一个在自身上使用pdo函数的测试脚本(没有zend框架)。看看你是否有任何错误
try {
$dbh = new PDO('mysql:host=YOURHOST;dbname=YOURDBNAME', $YOURUSERNAME, $YOURPASSWORD);
foreach($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}