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

(Resolvido) POO


Aprendiz_PHP

Pergunta

Fala galera

estou começando a programar agora emPOO e estou aprendendo na p***** mesmo :angry: e pra começar eu fiz essa classe de conexao.

class Conecta{
      
      private $Servidor;
      private $Usuario;
      private $Senha;
      private $Banco;
      
      function __construct($Servidor,$Usuario,$Senha,$Banco){
          $this->Servidor = "127.0.0.1";
          $this->Usuario = "root";
          $this->Senha = "";
          $this->Banco = "teste"; 
          $conectar = mysql_connect($this->Servidor,$this->Usuario,$this->Senha); 
          $banco = mysql_select_db($this->Banco);
          
         if($conectar == false || $banco == false){
             throw new Exception(mysql_error());
          }
      }
  }
      $validar = new Conecta;
         try{ 
             // não sei o que coloco aqui!  :blink: 
         }
         catch( Exception $e ){
                die($this->Erro($e->getMessage()));
         }        
       function Erro($erro_valor){
      error_log($erro_valor."\r\n",3,"log/erro.log");
    }

só que tá dando um monte de erros hahahaha alguém sabe o que pode ser? veja os erros.

Warning: Missing argument 1 for Conecta::__construct(), called in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 72 and defined in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 60

Warning: Missing argument 2 for Conecta::__construct(), called in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 72 and defined in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 60

Warning: Missing argument 3 for Conecta::__construct(), called in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 72 and defined in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 60

Warning: Missing argument 4 for Conecta::__construct(), called in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 72 and defined in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 60

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'roots'@'localhost' (using password: YES) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 65

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 66

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 66

Fatal error: Uncaught exception 'Exception' with message 'Access denied for user 'ODBC'@'localhost' (using password: NO)' in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php:68 Stack trace: #0 C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php(72): Conecta->__construct() #1 {main} thrown in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\classes_01\validar.php on line 68

Vlw :D

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

i aew Aprendiz_PHP, bom no seu metodo construtor voce passou 4 parametros, e quando você instancia obrigatoriamente tem que passar 4 parametros.

Tenta deixar seus parametros opcionais ou então remova os parametros do metodo construtor, a coisa mais sensata a se fazer em minha opiniao seria deixar os parametros opcionais, mais ou menos assim:

function __construct($Servidor="127.0.0.1",$Usuario="root",$Senha="",$Banco="teste"){
    $this->Servidor = $Servidor;
    $this->Usuario = $Usuario;
    $this->Senha = $Senha;
    $this->Banco = $Banco; 
    
    $conectar = mysql_connect($this->Servidor,$this->Usuario,$this->Senha);
    $banco = mysql_select_db($this->Banco);
          
    if($conectar == false || $banco == false){
        throw new Exception(mysql_error());
    }
    
}
ou quando você instaciar passe os pars como null exemplo(ai você pode deixar da maneira que você fez):
$validar = new Conecta(null,null,null,null);

bom espero que ajude abraço!

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

  • 0

Eu disse que voltaria, não disse!?! :rolleyes:

então, é o seguinte, quero criar uma pasta chamada classes, onde ficaria a classe abaixo:

<?php
class Conecta{
      
      private $Servidor = "127.0.0.1";
      private $Usuario = "root";
      private $Senha = "";
      private $Banco = "classes";
      
      function conectar(){
          $this->Servidor;
          $this->Usuario;
          $this->Senha;
          $this->Banco; 
          $conectar = mysql_connect($this->Servidor,$this->Usuario,$this->Senha); 
          $banco = mysql_select_db($this->Banco);
       echo $this->Servidor;
         if($conectar == false || $banco == false){
               $error = $this->Erro(mysql_error());      
               throw new Exception(mysql_error());
          }
      }
          function Erro($erro_valor){
                 error_log($erro_valor."\r\n",3,"log/erro.log");
          } 
  }     
?>
e uma outra pasta chamada metodos onde ficaria os métodos:
<?php
include("../classes/classes.php");

$c = new Conecta();
$c->conectar();

class metodos{

 function ver_classes(){

$sql_dados = mysql_query("SELECT * FROM classes");

while($c =mysql_fetch_object($sql_dados)){
    
    echo $c->Nome; // não retorna bulufas  :o 
    
}

}
?>

ou seja, quero criar nessa pasta os métodos das querys, só que não passei disso...hahahaha.... alguém poderia me dar uma força?

vlw de novo!!!!!!!!!!!!!!!!!!

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...