私の独自の関数を作成して、データベースにzendフレームワークでデータを追加しようとしています。しかし、私はデータベースへの接続に問題があります。zendframeworkを使用したデータベースへの接続
PS:Zend_Db_Table_Abstractクラスのデフォルト関数を使用するつもりはありません。自分のデータベースにアクセスするための独自の関数を作成することはありません。 Zend_Dbを使用して接続を行いたいだけです。
のapplication.ini:
database.adapter = PDO_MYSQL
database.params.host = localhost
database.params.username = root
database.params.password = ''
database.params.dbname = user
のindex.php:ここ
は私の構成です
// Chargement automatique de Zend_Db_Adapter_Pdo_Mysql, et instanciation.
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', 'production');
$db = Zend_Db::factory($config->database->adapter,array(
'host' => $config->database->params->host,
'username' => $config->database->params->username,
'password' => $config->database->params->password,
'dbname' => $config->database->params->dbname,
)
);
// placons la connexion dans un registre global à l'application
$registry = Zend_Registry::getInstance();
$registry->set('db', $db);
// en faire la connexion par defaut
Zend_Db_Table::setDefaultAdapter($db);
Zend_Registry::set('dbAdapter', $db);
そして、私の機能は次のとおりです。
public function SaveClient() {
$sqlInsert = "INSERT INTO user VALUES ('".$this->getid()."','".$this->getprenom()."','".$this->getnom()."','".$this->getnele()."','". $this->getville()."')";
}
そして最後にアクション:
public function indexAction()
{
$user=new UserClass();
$user->setid(2);
$user->setnele(fevrier);
$user->setnom(mhamdi);
$user->setprenom(marwa);
$user->setville(bizerte);
$result=$user->SaveClient();
$this->view->add_result =var_dump($result) ;
}
は、接続に問題は何ですか?例外または特定のエラーが発生していますか?また、 'table data gateway'と行データゲートウェイのパターンを実際に使用せずに使用することにも非常に近いです。より良い挿入方法については、Zend_Db_Tableの[Inserting Data](http://framework.zend.com/manual/en/zend.db.table.html#zend.db.table.insert)を参照してください。もしあなたがいない場合は、[クイックスタート - モデルとdbtableの作成](http://framework.zend.com/manual/en/learning.quickstart.create-model.html)を参照してください。 – drew010
いいえ、私はエラーが表示されませんが、私はデータベースに情報を挿入することはできませんので、おそらく、クエリが正しいため、接続のためです。 –
私は理解できませんが、なぜブートストラップではなくindex.phpに工場接続がありますか?あなたのapplication.iniでは、dbパラメータは "database"の代わりに "resources.db"であるべきではありませんか? – RockyFord