Fórum PDO Exception - não funciona #552143

23/04/2016

0

PHP

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

Responder

Post mais votado

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.

Gabriel Farias

Gabriel Farias
Responder

Gostei + 1

Mais Posts

23/04/2016

Marcio Araujo

Sem o ";" confere aew.

var_dump($erro)
Responder

Gostei + 0

23/04/2016

Gabriel Farias

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

Gostei + 0

23/04/2016

William

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?
Responder

Gostei + 0

23/04/2016

Gabriel Farias

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

Gostei + 0

23/04/2016

William

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

Gostei + 0

23/04/2016

Gabriel Farias

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

Responder

Gostei + 0

23/04/2016

William

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

Gostei + 0

23/04/2016

Gabriel Farias

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


Responder

Gostei + 0

25/04/2016

Mauricio Padua

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

Gostei + 0

25/04/2016

Gabriel Farias

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.
Responder

Gostei + 0

26/04/2016

Mauricio Padua

Veja isso, acho que deva estar faltando algo.
Responder

Gostei + 0

27/04/2016

Marlon Gera

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.
Responder

Gostei + 0

27/04/2016

Gabriel Farias

Continuar sem aparecer as mensagens de erro do PDO.
Responder

Gostei + 0

27/04/2016

Marcio Araujo

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

Gostei + 0

27/04/2016

Gabriel Farias

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
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar