Как проверить, успешно ли Ci вставил данные - PullRequest
24 голосов
/ 16 марта 2012

В 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')");
}

Ответы [ 2 ]

61 голосов
/ 16 марта 2012

Вы можете использовать функцию $this->db->affected_rows() codeigniter.

Подробнее здесь

Вы можете сделать что-то вроде этого:

return ($this->db->affected_rows() != 1) ? false : true;
5 голосов
/ 27 сентября 2016

Вы также можете сделать это, используя Транзакции , например:

           $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
           }

Вот больше информации о транзакциях в CodeIgniter!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...