PDO Exception - não funciona

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

Mais Posts

23/04/2016

Marcio Araujo

Sem o ";" confere aew.

var_dump($erro)
Responder

23/04/2016

Gabriel Farias

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

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

23/04/2016

Gabriel Farias

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

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

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

23/04/2016

William

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

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

25/04/2016

Mauricio Padua

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

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

26/04/2016

Mauricio Padua

Veja isso, acho que deva estar faltando algo.
Responder

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

27/04/2016

Gabriel Farias

Continuar sem aparecer as mensagens de erro do PDO.
Responder

27/04/2016

Marcio Araujo

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

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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar