2011-07-04 53 views
2

我需要這個代碼幫助:主義語法錯誤;/

$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

嘗試改變:

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

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

和:

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

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

遺憾的是它並沒有幫助還是同樣的錯誤 – Tejek

+0

見我的編輯,應該有兩個標題和說明! – ADW

+0

哦,你是對的,我不認爲標題也會改變。謝謝你的幫助。 – Tejek