Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Não consegui encontrar uma solução para o seguinte problema, vou usar uma situação de conexão com banco de dados, mas isso pode ser aplicado a outras situações também.
Em ambiente de desenvolvimento (localhost) sempre mostro tudo no PHP: erros, notices, warnings, é tudo escancarado mesmo, e obviamente quando "está no ar", nada disso deve aparecer. Pois bem, quando temos uma conexão com banco de dados, temos:
// Conexão com o MySQL utilizando PDO
try {
$pdo = new PDO("mysql:host=".$db_hostname."; dbname=".$db_name.";", $db_username, $db_password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); die("Erro ao conectar o banco de dados", utf8_encode($exception->getMessage()), $exception->getLine());
}Se eu executar dessa forma, caso algum erro de conexão aconteça, antes de executar o que está na exceção (die), é gerado um Warning com a mesma mensagem exibida ali no catch. Por conta disso, como eu sei que se caso algum erro a conexão, sei que o sistema lançará a exceção e vou poder tratar o erro normalmente, entretanto, para evitar que esse warning seja gerado, eu tenho que colocar o @ na 2ª linha:$pdo = @new PDO("mysql:host= [...]Abraço!
Carregando comentários...