Zend Framework 1.12 无法使用 Db_Table 连接到数据库
Zend Framework 1.12 cant connect to database with Db_Table
我正在创建我的第二个 Zend Framework 项目(使用 1.12)并像第一个(使用 1.11)一样设置它,但由于某种原因,我在使用 class 连接到我的数据库时遇到问题扩展 Zend_Db_Table。我的数据库配置在这样的 ini 文件中:
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "myUsername"
resources.db.params.password = "myPassword"
resources.db.params.dbname = "myDbname"
resources.db.isDefaultTableAdapter = true
然后我有我的 table class:
class Application_Model_DbTable_TestData extends Zend_Db_Table_Abstract {
protected $_name = 'testdata'
}
然后在我的控制器中尝试:
$testdata = new Application_Model_DbTable_TestData();
然后当我转到该控制器的视图时,我只收到消息 Application Error
,没有其他信息。
如果我在控制器中执行以下操作:
$db = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => 'localhost',
'username' => 'myUsername',
'password' => 'myPassword',
'dbname' => 'myDbname'
));
$test = $db->select()->from(array('test' => 'testdata'));
我可以得到数据。为什么我不能用 table class 做这件事?据我所知,它与我的其他设置完全相同,工作正常。
原来问题出在我将数据库配置数据放在 ini 文件中的位置。它直接在 [development : production] 下,所以开发是唯一得到它的东西。只是那些愚蠢的疏忽之一,我不得不离开一会儿,然后再看一遍才能看到它。
我正在创建我的第二个 Zend Framework 项目(使用 1.12)并像第一个(使用 1.11)一样设置它,但由于某种原因,我在使用 class 连接到我的数据库时遇到问题扩展 Zend_Db_Table。我的数据库配置在这样的 ini 文件中:
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "myUsername"
resources.db.params.password = "myPassword"
resources.db.params.dbname = "myDbname"
resources.db.isDefaultTableAdapter = true
然后我有我的 table class:
class Application_Model_DbTable_TestData extends Zend_Db_Table_Abstract {
protected $_name = 'testdata'
}
然后在我的控制器中尝试:
$testdata = new Application_Model_DbTable_TestData();
然后当我转到该控制器的视图时,我只收到消息 Application Error
,没有其他信息。
如果我在控制器中执行以下操作:
$db = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => 'localhost',
'username' => 'myUsername',
'password' => 'myPassword',
'dbname' => 'myDbname'
));
$test = $db->select()->from(array('test' => 'testdata'));
我可以得到数据。为什么我不能用 table class 做这件事?据我所知,它与我的其他设置完全相同,工作正常。
原来问题出在我将数据库配置数据放在 ini 文件中的位置。它直接在 [development : production] 下,所以开发是唯一得到它的东西。只是那些愚蠢的疏忽之一,我不得不离开一会儿,然后再看一遍才能看到它。