2012-03-15 16 views
15

Ci'de, aşağıdaki işlevi görüyorum. Sorgunun hatasız bir şekilde eklendiğini nasıl sınayabilirim?Ci başarılı bir şekilde veri eklediğinde nasıl test edilir

public function postToWall() { 
    $entryData = $this->input->post('entryData'); 
    $myChurchId = $this->session->userdata("myChurchId"); 
    $this->db->query("INSERT IGNORE INTO wallPosts (entryData, entryCreationDateTime, wpChurchId) 
         VALUES('$entryData', NOW(), '$myChurchId')"); 
} 

cevap

45

Sen CodeIgniter'da ait $this->db->affected_rows() işlevini kullanabilirsiniz.

fazla bilgi görmek here

Böyle bir şey yapabilirsiniz:

  $this->db->trans_start(); 
      $this->db->query("INSERT IGNORE INTO wallPosts (entryData, entryCreationDateTime, wpChurchId) 
         VALUES('$entryData', NOW(), '$myChurchId')"); 
      $this->db->trans_complete(); 

      if ($this->db->trans_status() === FALSE) { 
       return "Query Failed"; 
      } else { 
       // do whatever you want to do on query success 
      } 

Burada yer İşlemlerine İlişkin more info var: Ayrıca bu İşlemler böyle kullanarak kayıt olabilirsiniz

return ($this->db->affected_rows() != 1) ? false : true; 
+0

Teşekkürler! Bu büyük bir yardım oldu. –

+10

Ya da basitçe: '$ this-> db-> affect_rows()> 0; – harrison4

3

CodeIgniter!

İlgili konular