MySQL データベースから単一の値を取得しようとしていますが、Zend Framework を使用しています。application.ini
これは、データベース情報を保存するために使用するmy の一部です。
[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
クラスを変更しただけで、ログインしようとすると空白のページが表示されるようになりました。どうしてこれなの?