Mysql CakePHP日期和数据库

Mysql CakePHP日期和数据库,mysql,datetime,cakephp,Mysql,Datetime,Cakephp,好的,所以我正在做一个与上传文件和日期有关的项目。我的应用程序允许用户上传文件,他们可以看到他们上传的文档。如果需要,他们可以移除它们。一旦他们认为上传的文件很好,他们可以完成它,这意味着他们不能删除上传的文件。此外,单击“Finalize”按钮将数据库中的状态更改为“Submitted”,并添加时间戳 到目前为止,我在这两个方面有一个错误。不知怎的,我的SQL中出现了以下错误: 将leb2docs更新为Doc设置Doc状态=“已提交”, 文件提交日期=2015-02-14 14:46:21 其

好的,所以我正在做一个与上传文件和日期有关的项目。我的应用程序允许用户上传文件,他们可以看到他们上传的文档。如果需要,他们可以移除它们。一旦他们认为上传的文件很好,他们可以完成它,这意味着他们不能删除上传的文件。此外,单击“Finalize”按钮将数据库中的状态更改为“Submitted”,并添加时间戳

到目前为止,我在这两个方面有一个错误。不知怎的,我的SQL中出现了以下错误:

leb2
docs
更新为
Doc
设置
Doc
状态
=“已提交”,
文件
提交日期=2015-02-14 14:46:21 其中
Doc
schoolId
=15

错误:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行“14:46:21,其中
Doc
schoolId
=15”附近使用的正确语法

这是我的密码:

public function finalize_init(){
        $this->layout = 'school';
        $id = $this->request->params['pass'][0];
        $this->Doc->id = $id;

        $this->Doc->updateAll(array(
            'Doc.status' => '"Submitted"',
            'Doc.datesubmitted' => date('Y-m-d H:i:s')
            ), array(
                'Doc.schoolId'=>$id
                )
        );
        $this->redirect(array('action'=>'documents_init'));
    }
这是我的数据库表:

CREATE TABLE `docs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `schoolId` int(11) DEFAULT NULL,
  `datesubmitted` datetime DEFAULT NULL,
  `status` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
我不确定日期有什么错误

我希望有人能帮我解决这个问题。谢谢大家!

编辑:

这些都在我的日志里

Nr  Query   Error   Affected    Num. rows   Took (ms)
1   SELECT `School`.`schoolId`, `School`.`usersId`, `School`.`name`, `School`.`email`, `School`.`term`, `School`.`address`, `School`.`existing_or_new`, `School`.`province`, `School`.`region`, `School`.`type`, `School`.`telephone`, `School`.`fax`, `School`.`dean`, `School`.`dean_email`, `School`.`llm`, `School`.`dean_mobile`, `School`.`president`, `School`.`educational_attainment`, `School`.`status` FROM `leb2`.`schools` AS `School` WHERE `usersId` = 49 LIMIT 1        1   1   1
2   SELECT COUNT(*) AS `count` FROM `leb2`.`docs` AS `Doc` WHERE `Doc`.`schoolId` = 17 AND `Doc`.`status` = 'draft'     1   1   1
3   INSERT INTO `leb2`.`docs` (`schoolId`, `status`) VALUES (17, 'draft')       1   1   30
4   SELECT `Doc`.`id`, `Doc`.`schoolId`, `Doc`.`datesubmitted`, `Doc`.`status`, `School`.`schoolId`, `School`.`usersId`, `School`.`name`, `School`.`email`, `School`.`term`, `School`.`address`, `School`.`existing_or_new`, `School`.`province`, `School`.`region`, `School`.`type`, `School`.`telephone`, `School`.`fax`, `School`.`dean`, `School`.`dean_email`, `School`.`llm`, `School`.`dean_mobile`, `School`.`president`, `School`.`educational_attainment`, `School`.`status` FROM `leb2`.`docs` AS `Doc` LEFT JOIN `leb2`.`schools` AS `School` ON (`Doc`.`schoolId` = `School`.`schoolId`) WHERE `Doc`.`schoolId` = 17 AND `Doc`.`status` = 'draft' LIMIT 1      1   1   1
5   SELECT `Doc`.`id`, `Doc`.`schoolId`, `Doc`.`datesubmitted`, `Doc`.`status`, `School`.`schoolId`, `School`.`usersId`, `School`.`name`, `School`.`email`, `School`.`term`, `School`.`address`, `School`.`existing_or_new`, `School`.`province`, `School`.`region`, `School`.`type`, `School`.`telephone`, `School`.`fax`, `School`.`dean`, `School`.`dean_email`, `School`.`llm`, `School`.`dean_mobile`, `School`.`president`, `School`.`educational_attainment`, `School`.`status` FROM `leb2`.`docs` AS `Doc` LEFT JOIN `leb2`.`schools` AS `School` ON (`Doc`.`schoolId` = `School`.`schoolId`) WHERE `Doc`.`schoolId` = 17 AND `Doc`.`status` = 'draft' LIMIT 1      1   1   1
6   SELECT `Upload`.`iduploads`, `Upload`.`iddocs`, `Upload`.`dest`, `Upload`.`type`, `Upload`.`description`, `Doc`.`id`, `Doc`.`schoolId`, `Doc`.`datesubmitted`, `Doc`.`status` FROM `leb2`.`uploads` AS `Upload` LEFT JOIN `leb2`.`docs` AS `Doc` ON (`Upload`.`iddocs` = `Doc`.`id`) WHERE `Upload`.`iddocs` = 20       0   0   1

Nr  Query   Error   Affected    Num. rows   Took (ms)
1   UPDATE `leb2`.`docs` AS `Doc` SET `Doc`.`status` = "Submitted", `Doc`.`datesubmitted` = 2015 WHERE `Doc`.`schoolId` = 17 AND `Doc`.`status` = 'draft'

最后的查询应该是这样的

UPDATE leb2.docs AS Doc SET Doc.status = "Submitted",  Doc.datesubmitted = '2015-02-14 14:46:21' WHERE Doc.schoolId = 15;
查询中缺少datesubmitted值上的qoute

$date = date('Y-m-d H:i:s');

    $this->Doc->updateAll(array(
        'Doc.status' => '"Submitted"',
        'Doc.datesubmitted' => "'{$date}'"
        ), array(
            'Doc.schoolId'=>$id
            )
    );
要实现查询, datesubmitted值应包含双qoute和单qoute “{$date}”让我们来看看。