1

CakePHP 2.3.1 でレコードを更新できません

クエリ:

$this -> Staff -> updateAll(array('Staff.last_login' => date('Y-m-d H:i:s')), array('Staff.id' => $staff['Staff']['id']));

エラー:

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use

4

2 に答える 2

9

http://book.cakephp.org/2.0/en/models/ Saving-your-data.html#model-updateall-array-fields-array-conditionsを参照してください:

The $fields array accepts SQL expressions. 
Literal values should be quoted manually using Sanitize::escape().

使用できます

NOW()

しかし、あなたの場合、引用でも機能します:

"'" . date('Y-m-d H:i:s') . "'"
于 2013-04-15T13:31:06.190 に答える
0

これを試して:

$date = date('Y-m-d H:i:s');
$this->Staff->updateAll(array('Staff.last_login' => "'$date'"), array('Staff.id' => $staff['Staff']['id']));
于 2014-05-12T05:08:58.733 に答える