PDO não retorna erro na conexão
Boa noite;
Estou realizando testes com a biblioteca PDO para banco de dados com PHP;
Logo de inicio estou realizando minha conexão com o banco utilizando um código simples nativo da biblioteca.
No entanto, mesmo **errando o código propositalmente** e tendo setado todos os possíveis erros e tratando com o bloco "try catch" o php não me retorna erro de nenhuma forma.
Abaixo ambos os códigos;
Primeiro sem erros:
<?php
ini_set('display_errors',true);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);
$username = 'root';
$password = '';
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_CASE => PDO::CASE_NATURAL,
PDO::ATTR_ORACLE_NULLS => PDO::NULL_EMPTY_STRING,
PDO::ATTR_PERSISTENT => true
];
try {
$conn = new PDO('mysql:host=localhost; dbname=test', $username, $password, $options);
$conn->exec("set names utf8");
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
Spoiler
Spoiler
Posteriormente com erro proposital (na string de conexão da classe PDO)
<?php
ini_set('display_errors',true);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);
$username = 'root';
$password = '';
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_CASE => PDO::CASE_NATURAL,
PDO::ATTR_ORACLE_NULLS => PDO::NULL_EMPTY_STRING,
PDO::ATTR_PERSISTENT => true
];
try {
$conn = new PDO('mysql:hst=localhost; dbname=test', $username, $password, $options);
$conn->exec("set names utf8");
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
Observem que no construtor do pdo, no lugar de host escrevi 'hst' e o php não retorna erros!
Como sou novo aqui, me desculpem algum erro de formatação na mensagem, obrigado!Discussão (4)
Carregando comentários...