Que tipo de errores son los que hacen saltar a la exepcion?? porque por los visto los de codigo no y los errores en la consulta tampoco es decir si quiero insertar un caracter en un Id de una tabla que acepte solo enteros no me lo esta capturando.
Y en este caso se que esta bien usar PDOException para capturar las exepcion de esta clase, pero si quiero capturar todo tipo de exepxion uso Exception
Aca les dejo mi codigo por si estoy obviando algo o por si tiene errores, tengo una clase Padre DATAMODEL y luego las otras son extends de esa CLASE les dejo como ejemplo parte del codigo de MODELUSUARIO
CLASE DATAMODEL (PADRE de las demas)
Código:
CLASE MANEJA los USUARIOS<?php abstract class DataModel{ protected $SERVIDOR = "XXXX"; protected $USUARIO = "XXXX"; protected $CLAVE = "XXXX"; protected $BASE = "XXXX"; function conectarse(){ try{ $db = new PDO("mysql:host=$this->SERVIDOR;dbname=sitio", $this->USUARIO, $this->CLAVE); return $db; echo "todo OK"; }catch(PDOException $e){ echo 'todo mal'; } } function desconectar($db){ $db=null; return $db; } } ?>
Código:
ACLARACION: es solo parte del codigo asi que quizas tenga algun error tonto, pero el codigo funciona.<?php class ModelUsuario extends DataModel{ function __construct(){ } // // function guardarUsuario(Usuario $unCandidato){ $db= $this->conectarse(); try{ $consulta = $db->prepare("INSERT INTO usuario (Nombre, Apellido) VALUES (:nombre,:apellido);"); $consulta->bindParam(':nombre', $unCandidato->getNombre()); $consulta->bindParam(':apellido', $unCandidato->getApellido()); try{ $consulta->execute(); $consulta=null; echo 'todo ok'; }catch(PDOException $e){ echo 'Error'; } }catch(PDOException $e){ echo $e->getMessage(); echo 'error'; } $this->desconectar($db); } // // function eliminarUsuario($unUsuarioID){ $db=$this->conectarse(); try{ $consulta = $db->prepare("DELETE FROM sitio.usuarios WHERE IdUsuario =:unUsuarioID"); $consulta->bindParam(':unUsuarioID', $unUsuarioID); $consulta->execute(); $consulta=null; echo "todo OK"; }catch(PDOException $e){ echo $e->getMessage(); echo "todo MAL"; } $this->desconectar($db); } } ?>
Bueno espero que alguien me pueda guiar sobre el tema porque todo lo que leo en internet lo hacen asi o muy parecido.... pero no obtengo el resultado esperado.
Saludos y desde ya muchas gracias.