gpt4 book ai didi

php - 如何在 PHP Codeigniter 中仅更新最后插入的记录?

转载 作者:行者123 更新时间:2023-11-29 12:03:38 25 4
gpt4 key购买 nike

我正在尝试更新 codeigniter 中最后插入的记录。我有一个表经销商,其中有姓名、电话、国家/地区代码、余额和 key 等字段。现在这个 key 是其他信息的组合,比如他的名字、电话和国家代码。因此,我首先插入用户信息并保留键字段 NUll,一旦完成,我想更新记录并通过连接字段插入键。我已成功生成 key (连接),但我的代码更新了表中的所有记录,而不是我想更新最后插入的记录。所以我无法填充最初为空的关键字段。下面是我的 Controller 代码:

public function edit ($id = NULL)
{
// Fetch a user or set a new one
if ($id) {
$this->data['user'] = $this->reseller_m->get($id);
count($this->data['user']) || $this->data['errors'][] = 'User could not be found';
}
else {
$this->data['user'] = $this->reseller_m->get_new();
}

// Set up the form
$rules = $this->reseller_m->rules_admin;
$id || $rules['password']['rules'] .= '|required';
$this->form_validation->set_rules($rules);

// Process the form
if ($this->form_validation->run() == TRUE) {

$data = $this->reseller_m->array_from_post(array('sip_username','sip_password','key','allocation_block','name','email','password','phone','balance','user_num','address','country','created','modified','status'));

$data['password'] = $this->reseller_m->hash($data['password']);

$key=$this->reseller_m->save($data, $id);

for($i=1; $i<=$data['user_num'];$i++)
{
$userdata=array('key'=>$key);
// here users is taken name of user table with retailer_id is field
$this->user_m->save($userdata,$id);
}

$values=array($this->input->post('name'),$this->input->post('country'),$this->input->post('name'));

$key=implode('-',$values);


$this->db->update('reseller' ,array('key'=>$key));
redirect('admin/reseller');
}

// Load the view
$this->data['subview'] = 'admin/reseller/edit';
$this->load->view('admin/_layout_main', $this->data);
}

最佳答案

所有记录都将被更新,因为您没有使用任何约束。

要获取最后插入的记录的id,可以使用

$last_id = $this->db->insert_id();

然后使用更新

$this->db->where('<your_pk_field>',$last_id);
$this->db->update('reseller', array('key'=>$key));

希望这有帮助。

关于php - 如何在 PHP Codeigniter 中仅更新最后插入的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31939336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com