是否有可能从数据库中获取记录并在电子邮件上发送该记录?.我能够从数据库接收数据但无法在电子邮件中发送该记录.我收到的电子邮件是我的电子邮件ID,但它完全是空白的. pass ['pass']变量是从数据库中检索记录.我能够使用print_r($ pass)在屏幕上显示记录并将此变量传递给email-> message($ 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());
}
Run Code Online (Sandbox Code Playgroud)
模型
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;
}
Run Code Online (Sandbox Code Playgroud)
使用->row()获取单行
在MODEL中
$query=$this->db->get();
if ($query->num_rows() == 1)
{
$val = $query->row();
return $val->password;
}
Run Code Online (Sandbox Code Playgroud)
只是$pass用来获取你的密码
在CONTROLLER中
$pass=$this->Model_login->forgot_pass_retrive($emailTo);
Run Code Online (Sandbox Code Playgroud)
阅读https://www.codeigniter.com/userguide3/database/results.html