Keine der Antworten hier ist falsch. Aber eigentlich sind alle drei zusammen die richtige Antwort. Sie sollten auf jeden Fall
setzen$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
wie gesagt von Cerad .
Von nun an wird jedes einzelne Problem in Bezug auf Datenbanken über eine Ausnahme vom Typ PDOException
ausgelöst . Sie müssen nur nicht Ihre eigene Exception
werfen wie gesagt von ladar weil es nutzlos ist. Nehmen Sie einfach den Ladar code und wandle ihn in
...
$data = array();
$model = new BlogModel;
try{
$model->save(2,'test');
$data['result']['message'] = 'Settings saved';
$data['result']['status'] = 'success';
}catch(PDOException $e){
$data['result']['message'] = 'Could not save the settings';
$data['result']['status'] = 'error';
}
Und werfen Sie nichts alleine.
Dann ist eine sehr gute Möglichkeit zum Debuggen von PDO-Anfragen das von Basic verlinkte catch-Skript zu verwenden die Sie hier finden können noch einmal.
Wenn Sie diese Dinge miteinander kombinieren, haben Sie eine flexible, saubere und einfach zu debuggende Möglichkeit, alle Fehler abzufangen, die auftreten könnten.