1

私は仕事で新しいプロジェクトを開始し、PHPZendFrameworkとMySQLデータベースの好みのセットアップを使用しています。

何らかの理由で、Zend_Db_Adapterを正しくセットアップできないため、データベースに正常に接続できます。MySQLでデータベースをセットアップし、mysql_connect()を使用してデータベースに接続できますが、過去のプロジェクトで使用したコードでは接続できませんか?本当に不思議です!

これが私が使用しているコードです...

require_once 'Zend/Registry.php';
require_once 'Zend/Db/Adapter/Pdo/Mysql.php';

// Set the database connection information
$params = array('host' =>'localhost',
                'username'  =>'root',
                'password'  =>'12345',
                'dbname'    =>'testdb');

// Assign the database connection to the registry
$db = new Zend_Db_Adapter_Pdo_Mysql($params);
$db->setFetchMode(Zend_Db::FETCH_OBJ);
Zend_Registry::set('db',$db);

上記のパラメーターはmysql_connect()を使用すると完全に機能しますが、上記を使用しようとするとコントローラー例外エラーが発生することを覚えておいてください。

4

1 に答える 1

1

application.ini アプローチを使用してみてください。

resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "12345"
resources.db.params.dbname = "testdb"


次に、ブートストラップで接続する場合は、手動で接続できます (ブートストラップは最終的にそれ自体を呼び出します)。

$this->bootstrap('db');


そして、$db アダプターにアクセスします。

$db = Zend_Db_Table::getDefaultAdapter();



とにかく、あなたのアプローチを好むなら、例外に関するより多くのデータを送ってください。

于 2012-09-27T19:30:15.153 に答える