如何测试Ci是否成功插入数据

Mic*_*sby 25 php mysql codeigniter

在Ci中,我有以下功能.如何测试成功插入的查询没有错误?

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')");
}
Run Code Online (Sandbox Code Playgroud)

Chi*_*rag 65

您可以使用$this->db->affected_rows()codeigniter的功能.

在此处查看更多信息

你可以这样做:

return ($this->db->affected_rows() != 1) ? false : true;
Run Code Online (Sandbox Code Playgroud)

  • 或者简单地说:`return $ this-> db-> affected_rows()> 0;` (18认同)

Nad*_*han 6

您也可以使用Transactions来做到这一点:

           $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
           }
Run Code Online (Sandbox Code Playgroud)

这是有关CodeIgniter中交易的更多信息