我有以下代码:
$this->Permissions->updateAll(
array('Permissions.user' => $newuser),
array('Permissions.user' => $originaluser)
);
但是当我运行它时,我收到以下错误:
Warning (512): SQL Error: 1054: Unknown column 'counterstaff' in 'field list' [APP\cake\cake\libs\model\datasources\dbo_source.php, line 681]
Query: UPDATE `permissions` AS `Permissions` SET `Permissions`.`user` = counterstaff WHERE `Permissions`.`user` = 'counter'
由于某种原因,它认为我想要设置的值是一列。任何人都有任何想法为什么会发生这种情况?
答案 0 :(得分:14)
修正了它!我必须在变量周围添加单引号,如下所示:
$this->Permissions->updateAll(
array('Permissions.user' => "'".$newuser."'"),
array('Permissions.user' => $originaluser)
);
答案 1 :(得分:4)
**Use this code for updating your data:**
$this->Permissions->updateAll(
array('Permissions.user' => "'$newuser'"),
array('Permissions.user' => "'$originaluser'")
);
答案 2 :(得分:-2)
更新查询的问题是将值放在引号中,如
UPDATE `permissions` AS `Permissions` SET
`Permissions`.`user` = "counterstaff" WHERE
`Permissions`.`user` = 'counter'