Moja funkcja w modelu na dodawanie:
public function AddArticle($title, $article){ $row = $this->createRow(); if($row) { $row->title = $title; $row->article = $article; $row->save(); return true; } else { throw new Zend_Exception('Nie można utworzyć artykułu. Błąd bazy danych!'); } }
Kontroler:
public function addAction() { $add_article = new Admin_Form_AddArticle(); if($this->_request->isPost() && $add_article->isValid($_POST)) { $article_model = new Admin_Model_Article(); $title = $add_article->getValue('title'); $article = $add_article->getValue('article'); try{ $add = $article_model->AddArticle($title,$article); } catch(Exception $ex) { $this->view->exception = "Błąd dodawania artykułu do bazy danych"; } if($add) { return $this->_redirect('/admin/article'); } } if($add_article->isErrors()) { $add_article->populate($_POST); } $this->view->form = $add_article; }
Kod formularza chyba nie jest potrzebny?
A w pliku application.ini mam:
Kod
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "haselko"
resources.db.params.dbname = "zendblog"
resources.db.params.charset = "utf8"
resources.db.isDefaultTableAdapter = true
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "haselko"
resources.db.params.dbname = "zendblog"
resources.db.params.charset = "utf8"
resources.db.isDefaultTableAdapter = true
Próbowałem nawet tak:
public function AddArticle($title, $article){ $db = $this->getDefaultAdapter(); // TUTAJ DOPISEK $db->query("SET NAMES 'utf8'"); // TUTAJ DOPISEK $db->query ("SET CHARACTER SET 'utf8'"); // TUTAJ DOPISEK $row = $this->createRow(); if($row) { $row->title = $title; $row->article = $article; $row->save(); return true; } else { throw new Zend_Exception('Nie można utworzyć artykułu. Błąd bazy danych!'); } }