HUFERSIL.WEBDEVELOPER - Soluções com qualidade - Hugo Ferreira da Silva

Lumine: Capturando erros de SQL Seg, 15 de setembro de 2008 - as 11h50 - 2 comentários

Uma coisa bem bacana (que eu tenho que tomar vergonha cara e arrumar tempo para documentar) é parte de ouvintes do Lumine.

Hoje vou mostrar de forma rápida como monitorar erros de SQL mal-formados. Para isso, basta você escrever uma função que mostre o erro na tela, formatando da maneira desejada:

function FormataErro( $connObj, $sql, $errorMsg )
{
   echo 'Houve um erro na tentativa de executar o comando abaixo: <br />';
   echo '<pre>' . $sql . '</pre>';
   echo '--------------------------------<br />';
   echo 'Error retornado pelo banco: ' . $errorMsg;
}

Depois, onde você inicializa a configuração, basta indicar o ouvinte no objeto de conexão:

$conf = new Lumine_Configuration( $lumineConfig );
$conf->getConnection()->addEventListener('onExecuteError', 'FormataError');

Em toda consulta que não for bem-sucedida, Lumine irá disparar um evento (onExecuteError) com 3 parâmetros: o objeto de conexão $connObj, o comando SQL executado $sql e o erro do banco $errorMsg

@braços e fiquem com Deus!

Comentários

Por Marcos enviado em 25 de novembro de 2008, as 09:48 Use o Validators
Por André Gustavo enviado em 14 de novembro de 2008, as 11:41 olá, minha dúvida é a seguinte: esta é a única maneira de detectar erros de SQL, na prática minha dúvida é a seguinte:
tenho um campo q é UNICO (email) se a pessoa tentar cadastrar um email já cadastrado, vai dar erro na consulta SQL, gostaria de pegar esse erro e mostrar na tela "E-mail já cadastrado"

Deixe seu comentário