Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 552521
            [titulo] => PDO Exception - não funciona
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-04-27 14:09:21
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 479066
            [status] => A
            [isExample] => 
            [NomeUsuario] => Gabriel Farias
            [Apelido] => 
            [Foto] => 
            [Conteudo] => Funcionou quando coloquei senha do banco, quando não existe senha(sem senha), mas quando insiro um nome de banco diferente não apresenta erro.
Desculpem por não ter feito esse teste antes. ) )

PDO Exception - não funciona

PHP
Gabriel Farias
   - 23 abr 2016

Boa tarde, podem me ajudar com um probleminha?
Não sei se o problema é PDO que não está ativado ou o algum erro no código.
A questão é, apresentar erro com o nome de banco que não existe.
#Código


<?php

define('SERVER', 'localhost');
define('DBNAME', 'db_pdo1');
define('USER', 'root');
define('PASSWORD', '');

try {
	$opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8');
	$conexao = new pdo("mysql:host".SERVER."; dbname=".DBNAME,USER, PASSWORD, $opcoes);
} catch (PDOException $erro) {
	var_dump($erro)
}
var_dump($conexao);

Post mais votado

Gabriel Farias
   - 27 abr 2016

Funcionou quando coloquei senha do banco, quando não existe senha(sem senha), mas quando insiro um nome de banco diferente não apresenta erro.
Desculpem por não ter feito esse teste antes.

Marcio Araujo
   - 23 abr 2016

Sem o ";" confere aew.

#Código

var_dump($erro)

Gabriel Farias
   - 23 abr 2016

Mesmo assim não está funcionando, já tinha visto, obrigado.

William (devwilliam)
   - 23 abr 2016

Nesse post PDO ATIVO? que você postou as 13:19, o seu var_dump() já acusa que está tudo em ordem com a conexão:
#Código

object(PDO)#1 (0) { }


Qual seria o seu problema?

Gabriel Farias
   - 23 abr 2016

Não apresenta o erro quando mudo o nome da base de dados.

William (devwilliam)
   - 23 abr 2016

Seu ambiente deve estar configurado para não exibir os erros, leia isso:
Exibir erros no PHP durante o desenvolvimento

Gabriel Farias
   - 23 abr 2016

Retiro o ;?

#Código


; display_errors
;   Default Value: On
;   Development Value: On
;   Production Value: Off



#Código

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
;   Development Value: E_ALL
;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT

William (devwilliam)
   - 23 abr 2016

Nem precisa disso, no link que postei ensino a fazer isso no próprio script.

Gabriel Farias
   - 23 abr 2016

William, fiz e continua sem apresentar erros:

#Código


<?php

/* Informa o nível dos erros que serão exibidos */
error_reporting(E_ALL);

/* Habilita a exibição de erros */
ini_set("display_errors", 1);

define('SERVER', 'localhost');
define('DBNAME', 'db_pdo1');
define('USER', 'root');
define('PASSWORD', '');

try {
	$opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8');
	$conexao = new pdo("mysql:host".SERVER."; dbname=".DBNAME,USER, PASSWORD, $opcoes);
} catch (PDOException $erro) {
	var_dump($erro);
}
var_dump($conexao);


Mauricio Padua
   - 25 abr 2016

Não tem nada faltando dentro do Try? Confere.

Gabriel Farias
   - 25 abr 2016


Citação:
Não tem nada faltando dentro do Try? Confere.


Creio que não Mauricio, mas estou olhando ainda, não está me retornando nada, alias, retorna o que já postei, como se não tivesse erro.

Mauricio Padua
   - 26 abr 2016

Veja isso, acho que deva estar faltando algo.

Marlon Gera
   - 27 abr 2016

Continua o Erro? Se sim...
Tenta da seguinte forma...

#Código

<?php
 
define('SERVER', 'TESTE_OUTRO_HOST_QUE_NAO_EXISTE');
define('DBNAME', 'db_pdo1');
define('USER', 'root');
define('PASSWORD', '');
 
try {
    $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8');
    $conexao = new pdo("mysql:host".SERVER."; dbname=".DBNAME,USER, PASSWORD, $opcoes);
} catch (PDOException $erro) {
    var_dump($erro)
}
var_dump($conexao);


E veja se vai dar erro.

Gabriel Farias
   - 27 abr 2016

Continuar sem aparecer as mensagens de erro do PDO.

Marcio Araujo
   - 27 abr 2016

Acabei esquecendo do post, está acompanhando as video aulas do William?

Gabriel Farias
   - 27 abr 2016


Citação:
Acabei esquecendo do post, está acompanhando as video aulas do William?


Sim, mas o problema é:

Ou no meu código ou em algo na minha maquina que não funciona. kkkk