Bonjour,

Je découvre actuellement le zend framework ainsi que ses exceptions.
Voici ma classe de modèle que j'essaye de mettre en place.
Je tiens à dire que je me suis inspiré du tutorial http://www.kitpages.fr/zf_tutorial.html pour les choses qui vont suivre.
C'est une classe qui
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
require_once('Zend/Db.php');
 
	class ModeleMateriel
	{
		private function getZendDb()
		{
		      $params = array(
                            'host'     => DB_SERVER ,
                            'username' => DB_USER ,
                            'password' => DB_PASSWORD ,
                            'dbname'   => DB_NAME
                       );
                       return Zend_Db::factory(DB_TYPE,$params);
	        }
 
		public function selectionUnite()
		{
 
			$db = $this->getZendDb();
 
			$select = $db->select();
 
			$select->from("t_unite");
 
			return $db->fetchAll($select);
		}
	}
avec toute les constantes définies dans index.php (à la racine).

J'utilise SQL server 7. Et pour moi DB_TYPE est définie par "pdo_mssql".
J'ai par ailleur chargé dans wamp5 les exetenssions :
php_mssql , php_pdo , php_pdo_mssql

j'utilise php 5.2 , zend framework 0.9.2 beta , sql server 7.

dans mon controller j'utilise la classe comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
require_once('models/ModeleMateriel.php');
	class AjouterMaterielController extends Zend_Controller_Action
	{
		public function init()
		{
			//On initialise ici, si necessaire.
		}
 
		public function ajouterMaterielAction()
		{
			echo "dans AjouterMaterielController::ajouterMaterielAction()<br/>";
 
			$modele_materiel = new ModeleMateriel();
			$all = $modele_materiel->selectionUnite();
			foreach($all as $colonne)
				echo $colonne["id_unite"] . ' ' . $colonne["code_unite"] . ' ' . $colonne["libelle_unite"];
		}
	}
Mais quelque chose se passe mal car j'ai l'exception suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[HY000]: General error: 10007 Ligne 2 : Syntaxe incorrecte vers '.'. [10007] (severity 5) [(null)]' in C:\wamp\www\library\Zend\Db\Adapter\Pdo\Abstract.php:177 Stack trace:
#0 C:\wamp\www\library\Zend\Db\Adapter\Abstract.php(331): Zend_Db_Adapter_Pdo_Abstract->query(Object(Zend_Db_Select), Array)
#1 C:\wamp\www\visite\mvc\models\ModeleMateriel.php(31): Zend_Db_Adapter_Abstract->fetchAll(Object(Zend_Db_Select))
#2 C:\wamp\www\visite\mvc\controllers\AjouterMaterielController.php(17): ModeleMateriel->selectionUnite()
#3 C:\wamp\www\library\Zend\Controller\Action.php(501): AjouterMaterielController->ajouterMaterielAction()
#4 C:\wamp\www\library\Zend\Controller\Dispatcher\Standard.php(214): Zend_Controller_Action->dispatch('ajoutermateriel...')
#5 C:\wamp\www\library\Zend\Controller\Front.php(753): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#6 C:\wamp\www\visite\inde in C:\wamp\www\library\Zend\Db\Adapter\Pdo\Abstract.php on line 177
J'espère que quelqu'un pourra m'aider car je ne vois vraiment pas comment résoudre le problème.