Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-04-2010 14:46:05

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

[RESOLU] Fichier sql avec Zend_Db

Bonjour,

Je cherche à savoir si avec Zend_Db on peu insérer un fichier SQL avec des table de ce type :


Code:

DROP TABLE IF EXISTS `{DBNAME}`.`system_resources` ;

CREATE  TABLE IF NOT EXISTS `{DBNAME}`.`system_resources` (
  `system_resources_id` INT NOT NULL AUTO_INCREMENT ,
  `system_resources_name` VARCHAR(255) NOT NULL ,
  `system_resources_module` VARCHAR(255) NOT NULL ,
  `system_resources_controller` VARCHAR(255) NOT NULL ,
  `system_resources_action` VARCHAR(255) NOT NULL ,
  `system_resources_default` TINYINT NOT NULL DEFAULT 0 ,
  PRIMARY KEY (`system_resources_id`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;

DROP TABLE IF EXISTS `{DBNAME}`.`System_roles` ;

CREATE  TABLE IF NOT EXISTS `{DBNAME}`.`System_roles` (
  `system_roles_id` INT NOT NULL AUTO_INCREMENT ,
  `system_roles_heritage` INT NOT NULL ,
  `system_roles_name` VARCHAR(45) NOT NULL ,
  `system_roles_su` TINYINT NULL DEFAULT 0 ,
  PRIMARY KEY (`system_roles_id`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 ...

Je suis en train de créer une installation, mais je ne trouve pas d'outil proposé par Zend.

Est ce que vous voyez ?

Merci de votre aide,

Bien crodialement.

Dernière modification par nicko (09-04-2010 09:23:46)

Hors ligne

 

#2 08-04-2010 15:04:01

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [RESOLU] Fichier sql avec Zend_Db

Pour aider un peu plus voici quelques ligne de code qui récupèrent les élément précédent :

Code:

                // EMPLACEMENT DU FICHIER SQL
            $sql = file_get_contents(LOCAL_PATH . S . 'Versions' . S . 'Install' . S . 'Db' . S . 'Mysql.sql');

            // REMPLACEMENT DE TOUT LES PATERNE PAS LE NOM DE LA BASE DE DONNEES
            $sql = str_replace('{DBNAME}', $install->namedb, $sql);

            // CONNEXION A LA BASE DE DONNEES
            $db = Zend_Db::factory('Mysqli', array('host' => $install->host, 'username' => $install->username, 'password' => $install->password, 'dbname' => $install->namedb));

            // ENVOIE DE LA REQUETE
            $db->query($sql);

pour le moment j'ai une erreur :

Code:

Uncaught exception 'Zend_Db_Statement_Mysqli_Exception' with message 'Mysqli prepare error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `projectbeta`.`system_resources` ( `system_resourc' at line 3'  ...

J'ai un erreur de syntaxe, mais si je le met dans phpmyadmin tout est ok !

Hors ligne

 

#3 09-04-2010 09:23:31

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [RESOLU] Fichier sql avec Zend_Db

Bonjour,

Bon j'ai fini par trouver, en faite, l'adaptateur Mysqli ne fonctionne pas pour la création des table. Pourquoi ? je ne sais pas !

Du coup j'ai mis Pdo_Mysql.

Bien cordialement.

Hors ligne

 

#4 09-04-2010 09:29:42

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [RESOLU] Fichier sql avec Zend_Db

heu tu est sur car à ma connaissance PDO_MySQL utilise MySQLi

A+JYT

Hors ligne

 

#5 09-04-2010 11:13:34

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [RESOLU] Fichier sql avec Zend_Db

Se sont les grands mystère de la programmation. J'ai pensé a la même chose que toi, c'est d'ailleurs pour ca que j'ai mis temps de temps à résoudre le "bug".

Voila les lignes que j'ai écris :

Code:

            $db = Zend_Db::factory('Pdo_Mysql', array('host' => $install->host, 'username' => $install->username, 'password' => $install->password, 'dbname' => $install->namedb));
        if(!$db->query($sql)) {
                throw new Zend_Db_Exception('error during installation of the database table data');
            }

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages