Base de données de gestion d'Erreur problème dans CodeIgniter

J'utilise CodeIgniter que mon application web framework. J'ai utilisé un simple Try/Catch et j'ai envoyé un valeur de l'échantillon pour le tester, et il a échoué!

Je sais que je peux utiliser $this->db->escape() fonction pour résoudre mon problème de données, mais je veux juste savoir: Pourquoi TRY/CATCH ne peut pas attraper cette erreur!

Controler code:

    $this->load->model('user_model');
    $result = $this->user_model->test_user("tes'ti");

Code du modèle:

function test_user($username){
    try {
        $query_str = "SELECT * FROM tbl_user WHERE username = '".$username."'";
        $result = $this->db->query($query_str);
        return $result;

    } catch (Exception $e) {
        return;

    }
}

De sortie:

A Database Error Occurred

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ti'' at line 1

SELECT * FROM tbl_user WHERE username = 'tes'ti'

Laissez-moi savoir, où j'ai fait une erreur, si je l'ai fait!

InformationsquelleAutor Monica | 2010-08-05