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

(Resolvido)Class de conexão


vini_loock

Pergunta

Olá.

Eu estou tentando fazer uma simples class em php para conexão, mas eu estou tendo um problema...

Eu acho que não está pegando o valor da variavel.

Minha class:

class Conecta{
        public $hostname;
        public $username;
        public $password;
        public $database;
        
        public function conecta(){
            mysql_connect($this->hostname, $this->username, $this->password) or die(mysql_error());    
        }
        
        public function select(){
            mysql_select_db($this->database) or die(mysql_error());    
        }
    }
E o arquivo que chama ela:
require ("classes/Conectar.class.php");
    
    $con = new Conecta;
    
    $con->hostname = 'localhost';
    $con->username = 'root';
    $con->password = '';
    $con->database = 'db';
    
    $con->conecta();

Se eo substituir o $this->password da função conecta pela senha, ele conecta normal, mas se deixar como está ele retorna um erro:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\POO\classes\Conectar.class.php on line 9

E como pode-se ver, no lugar do username está ODBC, não sei o porque, mas isso ocorre só localmente, publicado ele retorna o erro, mas com o username correto.

Enfim, não está recuperando a senha. Pelo que eu percebi.

Vlw.

Vinicius

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

2 respostass a esta questão

Posts Recomendados

  • 0

não sei se você ta usando esse codigo mesmo, ou você alterou na hora de postar mas você ta passando a senha vazia, ta certo isso??

require ("classes/Conectar.class.php");
    
    $con = new Conecta;
    
    $con->hostname = 'localhost';
    $con->username = 'root';
    $con->password = ''; //<-- OLHA AQUI
    $con->database = 'db';
    
    $con->conecta();[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, eu estou usando vazia, localmente, mas quando mandei pro servidor coloquei.

Mas eu deixei da 'forma correta' a minha class e funcionou.

Ficou assim:

class Conecta{
        protected $hostname;
        protected $username;
        protected $password;
        protected $database;
        
        public function __construct($hostname, $username, $password, $database){
            $this->hostname = $hostname;
            $this->username = $username;
            $this->password = $password;
            $this->database = $database;
        }
        
        public function conecta(){
            mysql_connect($this->hostname, $this->username, $this->password) or die(mysql_error());    
        }
        
        public function select(){
            mysql_select_db($this->database) or die(mysql_error());    
        }
    }
E...
require ("classes/Conectar.class.php");
    $con = new Conecta("localhost", "root", "", "portal");
    $con->conecta();

Vlw

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,4k
×
×
  • Criar Novo...