PDO Exception - não funciona

PHP

23/04/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.


<?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);

Gabriel Farias

Gabriel Farias

Curtidas 0

Melhor post

Gabriel Farias

Gabriel Farias

27/04/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.
GOSTEI 1

Mais Respostas

Marcio Araujo

Marcio Araujo

23/04/2016

Sem o ";" confere aew.

var_dump($erro)
GOSTEI 0
Gabriel Farias

Gabriel Farias

23/04/2016

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

William

23/04/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:
object(PDO)#1 (0) { }


Qual seria o seu problema?
GOSTEI 0
Gabriel Farias

Gabriel Farias

23/04/2016

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

William

23/04/2016

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

Gabriel Farias

23/04/2016

Retiro o ;?


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




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

GOSTEI 0
William

William

23/04/2016

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

Gabriel Farias

23/04/2016

William, fiz e continua sem apresentar erros:


<?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);


GOSTEI 0
Mauricio Padua

Mauricio Padua

23/04/2016

Não tem nada faltando dentro do Try? Confere.
GOSTEI 0
Gabriel Farias

Gabriel Farias

23/04/2016

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.
GOSTEI 0
Mauricio Padua

Mauricio Padua

23/04/2016

Veja isso, acho que deva estar faltando algo.
GOSTEI 0
Marlon Gera

Marlon Gera

23/04/2016

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

<?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.
GOSTEI 0
Gabriel Farias

Gabriel Farias

23/04/2016

Continuar sem aparecer as mensagens de erro do PDO.
GOSTEI 0
Marcio Araujo

Marcio Araujo

23/04/2016

Acabei esquecendo do post, está acompanhando as video aulas do William?
GOSTEI 0
Gabriel Farias

Gabriel Farias

23/04/2016

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
GOSTEI 0
POSTAR