Ошибка синтаксиса доктрины; / - PullRequest
2 голосов
/ 04 июля 2011

Мне нужна помощь с этим кодом:

$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:

Doctrine_Connection_Mysql_Exception: SQLSTATE [42000]: ошибка синтаксиса или нарушение доступа: 1064 У вас есть ошибкав вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса, чтобы использовать около 'sdfg sdfg, active = 1, description = ...

Но я смотрю на этот код и не вижу ошибокв синтаксисе.Я рассчитываю на вашу помощь.

Табла добавляет структуру в базу данных:

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

1 Ответ

1 голос
/ 04 июля 2011

Попробуйте изменить:

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

до

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

и

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

до

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