如何从数据库中获取记录并使用代码点火器将其发送到电子邮件


How to fetch record from database and send it to email using codeigniter?

是否可以从数据库中获取记录并通过电子邮件发送该记录?我能够从数据库接收数据,但无法通过电子邮件发送该记录。我的电子邮件ID上收到电子邮件,但它完全空白.$pass['pass']变量正在从数据库中检索记录。我能够使用 print_r($pass) 在屏幕上显示记录,并将此变量传递给电子邮件>消息($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;
   }

使用 ->row() 获取单行

模型中

$query=$this->db->get();
if ($query->num_rows() == 1)
{
$val = $query->row();
return $val->password;    
}

只需使用$pass即可获取密码

控制器

$pass=$this->Model_login->forgot_pass_retrive($emailTo);

阅读 https://www.codeigniter.com/userguide3/database/results.html