2011-07-04 5 views
2

je besoin d'aide avec ce code:erreur de syntaxe Doctrine;/

$mdl = Doctrine_Query::create() 
       ->update('Model_CoachsTownsLang ctl') 
       ->set('ctl.Coachs_Users_id', '1') 
       ->set('ctl.Towns_idTowns', '1') 
       ->set('ctl.Langs_idLang', '2') 
       ->set('ctl.title', $data['title']) 
       ->set('ctl.active', $data['active']) 
       ->set('ctl.description', $data['description']) 
       ->set('ctl.modyfication', '1') 
       ->set('ctl.modyfied_id', $userData['id']) 
       ->set('ctl.permit', $data['permit']) 
       ->where('ctl.Coachs_Users_id =?', $data['id']) 
       ->execute(); 

ZFDebug erreur de sortie:

Doctrine_Connection_Mysql_Exception: SQLSTATE [42000]: Erreur de syntaxe ou violation d'accès: 1064 Vous avez une erreur votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'sdfg sdfg, active = 1, description = ...

Mais je regarde ce code et je ne vois pas d'erreurs dans la syntaxe. Je compte sur votre aide.

Tabla ajoute de la structure à la base de données:

CREATE TABLE IF NOT EXISTS `intelektualnie`.`CoachsTownsLangs` (
    `id` INT NOT NULL AUTO_INCREMENT , 
    `Coachs_Users_id` INT NULL , 
    `Towns_idTowns` INT NULL DEFAULT NULL , 
    `Langs_idLang` INT NULL DEFAULT NULL , 
    `title` TEXT NULL DEFAULT NULL , 
    `description` TEXT NULL DEFAULT NULL , 
    `active` TINYINT(1) NOT NULL DEFAULT 0 , 
    `modyfication` TINYINT(1) NOT NULL DEFAULT 0 , 
    `modyfied_id` INT NULL DEFAULT NULL , 
    `permit` TINYINT(1) NOT NULL DEFAULT 1 , 
    PRIMARY KEY (`id`) , 
    INDEX `fk_CoachsTownsLangs_Coachs1` (`Coachs_Users_id` ASC) , 
    INDEX `fk_CoachsTownsLangs_Towns1` (`Towns_idTowns` ASC) , 
    INDEX `fk_CoachsTownsLangs_Langs1` (`Langs_idLang` ASC) , 
    CONSTRAINT `fk_CoachsTownsLangs_Coachs1` 
    FOREIGN KEY (`Coachs_Users_id`) 
    REFERENCES `intelektualnie`.`Coachs` (`Users_id`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION, 
    CONSTRAINT `fk_CoachsTownsLangs_Towns1` 
    FOREIGN KEY (`Towns_idTowns`) 
    REFERENCES `intelektualnie`.`Towns` (`idTowns`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION, 
    CONSTRAINT `fk_CoachsTownsLangs_Langs1` 
    FOREIGN KEY (`Langs_idLang`) 
    REFERENCES `intelektualnie`.`Langs` (`idLang`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB 
DEFAULT CHARACTER SET = utf8 

Répondre

1

Essayez de changer:

->set('ctl.title', $data['title']) 

à

->set('ctl.title', "'" . $data['title'] . "'") 

et:

->set('ctl.description', $data['description']) 

à

->set('ctl.description', "'" . $data['description'] . "'") 
+0

Malheureusement, il n'a pas aidé toujours la même erreur – Tejek

+0

Voir mon édition, aurait dû avoir à la fois le titre et la description! – ADW

+0

oh oui vous aviez raison, et je ne pensais pas que le titre soit changé aussi. Merci de votre aide. – Tejek