添加'@live.com'直到最后


Updating email address by adding '@live.com' to the end

我试图通过在末尾添加'@live.com"来更新电子邮件列表表,因为有些用户忘记为他们的电子邮件地址添加这个后缀。例如,他们输入类似"imsuperman"的东西,而它应该是"imsuperman@live.com"。

我正在使用codeigniter,但被卡在以下代码:

        $this->db->select('email, username');
        $user=$this->db->get('user');
        foreach ($user->result() as $row):
        $to_username=$row->username;
        //load email address
        $to_email_raw=$row->email;
        if(strpos($to_email_raw, '@') !==false)
        {
            $to_email=$to_email_raw;
        }
        else
        {
            $to_email=$to_email_raw.'@live.com';
        }
        endforeach;

到目前为止,我已经更改了每行的电子邮件地址。接下来我该如何更新表格,有什么建议吗?

谢谢,

如果这是数据库中的现有数据,您应该从相关行查询id并在更新函数中传递该id。

如果你想更新数据库中的一行,使用update函数

链接

在你的控制器中:

$data = array('id' => $id, 'email' => $to_email);

在你的模型

function update_email() {     
    $this->db->where('id', $id);
    $this->db->update('mytable', $data);
}

如果您试图同时更新数据库中的多行,请使用更新批处理函数

在你的控制器中,在foreach循环中:

$data[] = array('id' => $id, 'email' => $to_email);

在你的模型

function update_email_batch() {
    $this->db->update_batch('mytable', $data, 'id'); 
}