如何通过加密自己的值来更新每一行

问题描述 投票:0回答:2

我正在尝试更新列的每个值。

我正在尝试对现有数据库应用加密

$query = $this->db->query("select firstname from user");

foreach ($query->result_array() as $row)
{
$encr = $this->encryption->encrypt($row['firstname']);

$this->db->set('firstname', $encr);
$this->db->update('user');   
}

结果取第一行,对其进行加密,然后将其应用于所有行,同时它假定考虑其自身值来单独更新每一行。我究竟做错了什么 ?预先感谢您!

php mysql codeigniter encryption
2个回答
1
投票

找到了!我忘记指定ID。这工作:

$query = $this->db->query("select * from user");

foreach ($query->result_array() as $row)
{
$id = $row['id'];
$encr = $this->encryption->encrypt($row['firstname']);

$this->db->set('firstname', $encr);
$this->db->where('id', $id);
$this->db->update('user');  
}

提醒您始终检查假设。


0
投票

[您需要指定您的ID,您没有where子句。

$this->db->where('id', $row['id']); // or whatever is the unique column name.
© www.soinside.com 2019 - 2024. All rights reserved.