我在網上查找,發現了很多與我的密切相關的問題,但沒有什麼能夠幫助解決我的問題。它很簡單,即時通訊試圖遍歷我的電子郵件表來檢查電子郵件是否存在,如果不存在,請繼續並添加它。事情是,它總是添加電子郵件,查詢不會返回任何東西(甚至它應該)。也即時使用codeigniter,它有助於或複雜的情況。檢查codeigniter中的電子郵件
這裏是方法:
public function add_email(){
$email = $this->input->post('email');
$query = $this->db->query("SELECT * FROM emails WHERE email LIKE '$email'");
$query->result();
if($query->num_rows() == 0){
$data = array(
'email' => $this->input->post('email'),
'name' => $this->input->post('name')
);
return $this->db->insert('emails', $data);
}
return FALSE;
}
感謝提前
如果您檢查是否存在確切的電子郵件地址,爲什麼您使用'LIKE'而不是'='? –
@PatrickQ爲什麼不呢? 'LIKE'使得查詢不區分大小寫。除非使用通配符('%')運算符,否則不會執行任何通配符匹配。由於發送給Bob @ domain.com的電子郵件與bob @ domain.com相同,這是有道理的(忽略了明顯的SQL注入漏洞)。 – sjagr
@sjagr只要看看OP是否有充分的理由,也許不會濫用它。並不意味着它本身就是錯誤的。另外,儘管大多數電子郵件服務確實會將不同情況的電子郵件地址等同起來,但技術上而言,「bOB @ example.com」與「Bob @ example.com」不同。 –