Php 在update查询中排除where子句是不好的还是有害的做法?
我正在使用codeigniter构建我的站点,在更新查询中没有看到我的子句的where部分的原因 它正常工作,但这样可以吗?如果没有,与之相关的陷阱是什么 提前谢谢Php 在update查询中排除where子句是不好的还是有害的做法?,php,codeigniter,Php,Codeigniter,我正在使用codeigniter构建我的站点,在更新查询中没有看到我的子句的where部分的原因 它正常工作,但这样可以吗?如果没有,与之相关的陷阱是什么 提前谢谢 public function reset_password() { $salt = $this->_salt(); $this->load->library('encrypt'); $data = array(
public function reset_password()
{
$salt = $this->_salt();
$this->load->library('encrypt');
$data = array(
'password' => $this->encrypt->sha1($salt . $this->encrypt->sha1($this->input->post('password'))),
'salt' => $salt
);
$this->db->update('users', $data);
}
执行更新时,如果不包括where子句,它将更新表中的所有值
因此,在这种情况下,每个人的密码和salt都将设置为这个新值。这将重置每个用户的密码!!!你看不出这有什么问题吗?如果你只有一条记录(而且永远都有),什么都不会改变。否则,我希望你有一个备份你的表有人愿意解释为什么这被否决?