Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

peedrow!!

[Resolvido] Classe de Login não seleciona o BD

Recommended Posts

Bom estou começando minhas primeiras aventuras em PHP OOP http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Fiquei vendo uns tutoriais talz...

e Resolvi fazer um login

 

Meu login envolve 2 páginas e 2 classes

1° Index.php Onde o cara se loga

2° Index.cs.php crio a instância da classe login

//Classes

1° Login a classe de login eu uso um método chamado de EfetuarLogin

				public function EfetuarLogin()
				{
					try{
						$conexao = $this->AbriConexao();
						$sql = "SELECT * FROM tblusuario WHERE Login = '".$this->login."' AND Senha = '".$this->senha."'";
						$query = mysql_query($sql,$conexao);
						$resultado = mysql_fetch_assoc($query);
						echo mysql_error($conexao);
						return $resultado;
					}catch(Exception $ex){
						
					}
				}

 

Ele herda da classe de acesso a dados

que é esta

2° Classe ConexaoMySQL

	abstract class ConexaoMySQL
	{
		private $servidor = "localhost";
		private $uid = "acesso";
		private $senha = "acesso123";
		private $banco = "bd";	
	
		public function AbriConexao()
		{
			try{
				$conexao = mysql_connect($this->servidor,$this->uid,$this->senha);
				if(!$conexao){
					die("Erro ao Connectar no Banco contate o admin ou espere");
				}else{
					mysql_select_db($this->banco,$conexao);
					return $conexao;
					
				}
			}catch(Exception $ex){
				echo 'erro';
			}
			mysql_select_db("Teamwork",$conexao);
		}
		public function FechaConexao($conexao)
		{
			if($conexao)
			{
				mysql_close($conexao);
			}
		}
	}

Porém na página onde crio a instância da este erro(EU mandei imprimir o mysql_error)

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Sistema\code\cLogin.php on line 32

No database selected // Erro do sql

 

Porem estou selecionando SIM o bd, nao consegui entender o erro se alguem poder ajudar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

a base de dados chama-se "bd" ou "Teamwork" ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

É Teamwork! Eu tinha posto la pra bd pra ve se ele jerava o erro, eu to tentando selecionar 2 veses, o nome do banco e com bd para ver se ele pelo menos tentou selecionar, essa base bd nem existe

Compartilhar este post


Link para o post
Compartilhar em outros sites

A resposta do Lucas esta certa, veja que a linha

mysql_select_db("Teamwork",$conexao);
Nunca será executada.

Outra coisa, sempre antes de usar mysql_fetch_assoc() verifique se a consulta retornou alguma coisa, pois pode não haver os dados da query no banco e isso retorna um boolean false.

 

É Teamwork! Eu tinha posto la pra bd pra ve se ele jerava o erro, eu to tentando selecionar 2 veses, o nome do banco e com bd para ver se ele pelo menos tentou selecionar, essa base bd nem existe

 

Então coloque 'Teamwork' na variável bd;

private $banco = "Teamwork";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente esse debug:

public function AbriConexao()
{
    try{
        $conexao = mysql_connect($this->servidor,$this->uid,$this->senha);
        if(!$conexao){
            die("Erro ao Connectar no Banco contate o admin ou espere");
        }else{
            if(!mysql_select_db($this->banco,$conexao)){
                echo "Impossivel conectar-se ao banco " . $this->banco;
            }
            return $conexao;
            
        }
    }catch(Exception $ex){
        echo 'erro';
    }
    mysql_select_db("Teamwork",$conexao);
}
Oque aparece?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.