problème avec SQL server 7 'SQLSTATE[HY000]: General error: 10007
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:
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:
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:
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.