Nessuna delle risposte qui è sbagliata. Ma in realtà tutti e tre messi insieme sono la vera risposta. Dovresti assolutamente impostare
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
come detto da Cerad .
D'ora in poi ogni singolo problema relativo a qualsiasi cosa relativa al database viene generato tramite un'eccezione di tipo PDOException
. Non devi semplicemente lanciare la tua Exception
come detto da ladar perché è inutile. Prendi il ladar codice e convertirlo 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';
}
E NON lanciare nulla da solo.
Quindi un modo molto interessante per eseguire il debug delle query PDO è utilizzare lo script catch collegato da Base che puoi trovare qui ancora una volta.
Combinando queste cose insieme avrai un modo flessibile, pulito e di facile debug per catturare tutti gli errori che potrebbero verificarsi.