Tengo mi clase usuario la cual llama a un Stored Procedure en mysql, me gustaría verificar si se ha ejecutado correctamente.
Lo he probado de la siguiente forma pero ni forzando errores en los parametros de entrada me muestra ningún error. Lo único eso sí, que la transacción no se ejecuta.
Probé con try y catch dentro y fuera de la función pero nada, no me muestra ningún error. Sin embargo cuando cojo la consulta y la pongo en la consola mysql si que hay errores.
Código PHP:
Ver original
public function addNewUser($nombre,$usuario,$password,$correo,$pais,$birthday,$sexo,$userReferido){ $this->_nombre=$nombre; $this->_usuario=$usuario; $this->_password=$password; $this->_correo=$correo; $this->_pais=$pais; $this->_birthday=$birthday; $this->_sexo=$sexo; $this->_userReferido=$userReferido; $this->_userKey = $this->randomKeygen($length=10); $this->_ip=getRealIP(); try{ $query = "CALL sp_nuevoUsuario (:user_login,:user_pass,:user_activation_key,:user_name,:user_mail,:user_birthday,:user_sexo,:user_pais,:ip)"; $comando = $this->_con->prepare($query); ':user_pass'=>$this->_password, ':user_activation_key'=>$this->_userKey, ':user_name'=>$this->_nombre, ':user_mail'=>$this->_correo, ':user_birthday'=>$this->_birthday, ':user_sexo'=>$this->_sexo, ':user_pais'=>$this->_pais, ':ip'=>$this->_ip)); } catch (Exception $e) { echo $e->getMessage(); echo "<br/>Ocurrio un error"; exit; } } //Valores de ejemplo (tras rellenar formulario de registro) $nombre='Dani'; $usuario='neodani'; $password='12345'; $pais='error'; /* FORZANDO EL ERROR SOLO SOPORTA INT */ $birthday='1985-12-21'; $sexo='H'; $userReferido=''; try{ $userTest->addNewUser($nombre,$usuario,$password,$correo,$pais,$birthday,$sexo,$userReferido); } catch (Exception $e) { echo $e->getMessage(); echo "<br/>Ocurrio un error"; exit; }
¿Sabéis cómo debo hacerlo? ¿Hago algo mal?
Muchas gracias de antemano