Categories: Snippets

How do I test if my MySQL query was successful

if ($this->db->affected_rows() > 0)
{
  return TRUE;
}
else
{
  return FALSE;
}

or

if ($this->db->affected_rows() > 0)
  return TRUE;
else
  return FALSE;

or

return ($this->db->affected_rows() > 0) ? TRUE : FALSE;

also(much better)

return ($this->db->affected_rows() > 0);

A better solution I’ve found is to manage the difference between an ERROR and 0 affected rows. 0 affected rows is not necessarily a bad thing, but an error is something you do want to know about:

if ($this->db->_error_message()) {
    return FALSE; // Or do whatever you gotta do here to raise an error
} else {
    return $this->db->affected_rows();
}

Now your function can differentiate…

if ($result === FALSE) {
    $this->errors[] = 'ERROR: Did not update, some error occurred.';
} else if ($result == 0) {
    $this->oks[] = 'No error, but no rows were updated.';
} else {
    $this->oks[] = 'Updated the rows.';
}

Just some quick hacking there – you should obviously make the code far more verbose if you have other people using it.

The point is, consider using _error_message to differentiate between 0 updated rows and a real problem.

Recent Posts

Sample Contact Form with validation, Captcha & Notification

Contact Controller [crayon-6933b76522d93241643632/] Contact_form.php - view [crayon-6933b76522da0164256153/] Contact_model [crayon-6933b76522da6966563301/] Captcha Helper [crayon-6933b76522dac670672767/] Notifications_model [crayon-6933b76522db3306888673/] Database…

7 years ago

Delete Files and Execute Database Query remotely

[crayon-6933b76523381776235839/] [crayon-6933b76523388696228425/]  

7 years ago

Random String Codeigniter

[crayon-6933b765235bf000664521/] The first parameter specifies the type of string, the second parameter specifies the length.…

7 years ago

Codeigniter Ajax Form Validation Example

Create Controller [crayon-6933b765237d1212466495/] 2. Create View File [crayon-6933b765237d7549582232/]  

7 years ago

Codeigniter passing 2 arguments to callback – Email validation

[crayon-6933b76523ce4697754282/] [crayon-6933b76523cea141509110/]  

7 years ago

Setting Error Messages

All of the native error messages are located in the following language file: system/language/english/form_validation_lang.php To set…

7 years ago