Me gustaría saber cómo puedo lidiar exactamente con las declaraciones del error devuelto por los controladores DataBase disponibles en la clase PDO.Tratar con la excepción PDOException cuando la DB devuelve una declaración de error
Como ejemplo, tomemos los campos UNIQUE como caso de estudio.
Como debe saber, al menos cuando el modo de depuración de PDO está activo, cuando intentamos agregar algo duplicado en el campo UNIQUE de una base de datos, recibimos una excepción PDOException.
Y me gustaría saber cuál es la forma correcta de manejar esto. He buscado en ello y lo he entendido:
try {
// PDO::prepare(), PDOStatement::execute e etc.
} catch(PDOException $e) {
if($e -> getCode() == 23000) {
// Do something
}
}
Pero no estoy seguro de si es correcto y, pensando como programador, es realmente una buena práctica? Es decir, ¿confía en el Código de error?
Peor aún: PDO acepta varios controladores, ¿todos comparten el mismo código de error?
Por supuesto, este no es el único caso. Hay varios otros códigos de error, ¿verdad? Esta "técnica" se puede usar en todas las circunstancias?
Creo que es más seguro consultar los resultados existentes y luego verificar si está presente o no. –