我尝试从MySQL数据库中检索单个值,并且我正在使用Zend Framework。以下是我用于存储数据库信息的application.ini
的一部分。
[production]
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password =
resources.db.params.dbname = accounts_db
resources.db.isDefaultTableAdapter = true
以下是Bootstrap.php
:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initDbRegister()
{
$db = $this->bootstrap('Db')->getResource('Db');
$config = new Zend_Config((array('database'=>array('params'=>$db))));
Zend_Registry::set('config',$config);
}
}
这是我用来从数据库中检索数据的代码。
class User
{
public function authenticate()
{
$success = false;
$this->encrypt();//use to hash the provided password
try{
$conf = Zend_Registry::get('config');
$db = Zend_Db::factory($conf->database);
$select = $db->select()
->from('user','COUNT(*)')
->where('userName = ?',$this->userName)
->where('password = ?',$this->password);
$stmt = $select->query();
$result = $stmt->fetchColumn(0);
if($result == 1){
$success = true;
return $success;
}
} catch (Exception $e) {
$e->getMessage();
return $success;
}
}
}
注意:
我之前使用mysql_connect()
和mysql_query()
对此进行了测试。然后它工作正常。如果查询成功,则显示主页面,否则重定向到欢迎页面。然后我只更改了User
类,现在它只是在尝试登录时显示一个空白页面。这是为什么?