използвайте опитайте хващане
try {
$pdo->exec ("QUERY WITH SYNTAX ERROR");
} catch (PDOException $e) {
if ($e->getCode() == '23000')
echo "Syntax Error: ".$e->getMessage();
}
Прочетете PDOStatement::errorCode
взето от Списък с кодове за връщане