Żadna z odpowiedzi tutaj nie jest błędna. Ale w rzeczywistości wszystkie trzy połączone są prawdziwą odpowiedzią. Zdecydowanie powinieneś ustawić
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
jak powiedział Cerad .
Od teraz każdy pojedynczy problem dotyczący bazy danych jest zgłaszany przez wyjątek typu PDOException
. Po prostu nie musisz zgłaszać własnego Exception
jak powiedział ladar ponieważ jest bezużyteczny. Po prostu weź ladara kod i przekonwertuj go na
...
$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';
}
I NIE rzucaj niczego sam.
W takim razie bardzo dobrym sposobem debugowania zapytań PDO jest użycie skryptu catch połączonego z Basic że możesz znaleźć tutaj jeszcze raz.
Łącząc te rzeczy razem, uzyskasz elastyczny, czysty i łatwy w debugowaniu sposób na wyłapanie wszystkich możliwych błędów.