2015-10-01 41 views
0

我的當前日期爲2015年1月10日。如果我在codeigniter中給出sql查詢如下,它也給出了類似的日期,1/10/2014,1/10/2013 ..等等。出生日期有誤

那麼我哪裏錯了?在笨

SQL查詢:

function get_birthdate() 
    { 
     $this->db->select('fullname as name,avatar,birth_date,user_id',FALSE); 
     $this->db->from('fx_account_details',FALSE); 
     $this->db->where('MONTH(birth_date) = MONTH(CURDATE()) 
          AND DAY(birth_date) = DAY(CURDATE()) 
          OR (DAY(LAST_DAY(birth_date)) =29 
          AND DAY(birth_date) =29 
          AND DAY(LAST_DAY(CURDATE())) =28)'); 
//    $this->db->get(); 
//  echo $this->db->last_query();exit; 

     return $this->db->get()->result(); 

    } 
+0

你想幹什麼?這有什麼「錯誤」? –

+2

您的WHERE子句中沒有任何內容將年份限制爲當前(或其他)。 – BWS

回答

2

嘗試,這可能是幫助:

function get_birthdate() 
     { 
      $this->db->select('fullname as name,avatar,birth_date,user_id',FALSE); 
      $this->db->from('fx_account_details',FALSE); 
      $this->db->where('YEAR(birth_date) = YEAR(CURDATE() AND MONTH(birth_date) = MONTH(CURDATE()) 
           AND DAY(birth_date) = DAY(CURDATE()) 
           OR (DAY(LAST_DAY(birth_date)) =29 
           AND DAY(birth_date) =29 
           AND DAY(LAST_DAY(CURDATE())) =28)'); 
    //    $this->db->get(); 
    //  echo $this->db->last_query();exit; 

      return $this->db->get()->result(); 

     } 
0

我接受大衛的回答。另外我得到了我的錯誤,我解決了它。這是另一個答案。

function get_birthdate() 
    { 
     $this->db->select('fullname as name,avatar,birth_date,user_id',FALSE); 
     $this->db->from('fx_account_details',FALSE); 
     $this->db->where('birth_date = CURDATE() 
         AND MONTH(birth_date) = MONTH(CURDATE()) 
          AND DAY(birth_date) = DAY(CURDATE()) 
          OR (DAY(LAST_DAY(birth_date)) =29 
          AND DAY(birth_date) =29 
          AND DAY(LAST_DAY(CURDATE())) =28)'); 


     return $this->db->get()->result(); 

    }