I am not able to update records in CakePHP 2.3.1
Query:
$this -> Staff -> updateAll(array('Staff.last_login' => date('Y-m-d H:i:s')), array('Staff.id' => $staff['Staff']['id']));
Error:
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
See 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().
You can use
NOW()
But, in your case, it would also work with the quoting:
"'" . date('Y-m-d H:i:s') . "'"
Try this:
$date = date('Y-m-d H:i:s');
$this->Staff->updateAll(array('Staff.last_login' => "'$date'"), array('Staff.id' => $staff['Staff']['id']));