Ir para conteúdo
Fórum Script Brasil
  • 0

Conexao PDO com Banco Mysql


clictapejara

Pergunta

Estou tentando sem sucesso criar uma conexão com o banco mysql usando uma classe e instanciando a mesma. O Erro ocorre na parte de usuário e senha. Por favor vejam onde eu

errei: ERRO =  SQLSTATE[28000] [1045] Access denied for user 'clic'@'localhost' (using password: YES)

Já testei fora da classe, usuário e senhas estão corretos e não apresentam erros.

arquivo onde instancio a conexão setando as variáveis

<?php
include("classes/Conexao.class.php");

$conectar=new Conexao();
$conectar->set_servidor("localhost");
$conectar->set_banco("clic_teste");
$conectar->set_usuario("clic_mania");
$conectar->set_senha("segredo");

?>

Arquivo onde esta minha classe

<?php
               
// FUNCAO CONEXAO
class Conexao{
private $servidor;
private $banco;
private $usuario;
private $senha;

function __construct( ){
try{
$pdo=new PDO("mysql:host=$this->servidor;dbname=$this->banco",$this->usuario,$this->senha, 
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
$pdo -> setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}catch(PDOException $erro){
               echo $erro->getMessage();
}

}
           public function set_servidor($Vservidor){ $this->servidor = $Vservidor; }
           public function get_servidor(){  return $this->servidor; }
           
           public function set_banco($Vbanco){ $this->banco = $Vbanco; }
           public function get_banco(){  return $this->banco; } 
           
           public function set_usuario($Vusuario){ $this->usuario = $Vusuario; }
           public function get_usuario(){  return $this->usuario; }

           public function set_senha($Vsenha){ $this->senha = $Vsenha; }
           public function get_senha(){  return $this->senha; }

                       
 }          
       ?>

Editado por clictapejara
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá!

Acho que percebi o que acontece.

No construct da sua class Conexao, você já manda conectar ao banco de dados, quando as variáveis:
private $servidor;
private $banco;
private $usuario;
private $senha;
Ainda não foram definidas.

Ou seja, quando você cria o objeto em: $conectar=new Conexao(); a conexão já acontece! Já tenta ser estabelecida.

Sugiro que remova a conexão do __construct
ou já defina os valores das variáveis privadas dentro da class Conexao

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...