是否可以从数据库中获取记录并在电子邮件中发送该记录?。我能够从数据库接收数据但无法在电子邮件中发送该记录。我正在收到我的电子邮件ID的电子邮件,但它完全是$ pass [' pass']变量从数据库中检索记录。我能够使用print_r($ pass)在屏幕上显示记录并将此变量传递给email->消息($ pass)但是它不起作用。
请帮助我。
控制器
$emailTo = $this->input->post('email');
$this->load->model('Model_login');
$pass['pass']=$this->Model_login->forgot_pass_retrive($emailTo);
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'mail.demo.com',
'smtp_port' => 25,
'smtp_user' => 'noreply@demo.com',
'smtp_pass' => 'demo#@123',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('noreply@demo.com');
$this->email->to($emailTo);
$this->email->subject('there');
$this->email->message($pass);
if($this->email->send())
{
redirect('Welcome/index');
}
else
{
show_error($this->email->print_debugger());
}
模型
public function forgot_pass_retrive($emailTo)
{
$this->db->select('password');
$this->db->from('admin_user');
$this->db->where('email',$emailTo);
$this->db->limit(1);
$query=$this->db->get();
if ($query->num_rows() == 1)
{
return $query->result();
}
else
{
return FALSE;
}
答案 0 :(得分:6)
使用->row()
获取单行
在模型
中$query=$this->db->get();
if ($query->num_rows() == 1)
{
$val = $query->row();
return $val->password;
}
只需使用$pass
来获取密码
在 CONTROLLER
中$pass=$this->Model_login->forgot_pass_retrive($emailTo);
阅读https://www.codeigniter.com/userguide3/database/results.html