Ir para conteúdo

Arquivado

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

PhantOmL0rd

Warning: mysqli_select_db() expects parameter 1 to be mysqli...

Recommended Posts

ae galera preciso de um help aki...

 

estou fazendo um trabalho em php Orientado a Objetos e apareceu esse erro aki...

vcs poderiam me ajudar??

 

eis o código:

 

conectabd.php

<?php
/*
 .:: Classe conectaBd : Faz a conexão com o banco de dados fitnessM ..'MySql'..  
 	 Usando Padrão: SINGLETON
*/
class conectaBd {
	
	 private $servidor; //servidor
	 private $usuario;//usuario do banco
	 private $senha;//senha do banco
	 private $banco;//nome do banco de dados
	 var $query, $conecta;

	//Propriedade Estática referenciando um tipo da mesma Classe
	static $instancia = false;

/*...............................................................................
.................
  .:: Método construtor: Conecta ao banco, e caso não consiga, manda um aviso que não foi possível 	  conectar.
................................................................................
................*/
	private function conectaBd() {
	
		$this->servidor="localhost";
		$this->usuario = "root";
		$this->senha = "met258";
		$this->banco = "fitnessM";
		
	//Efetua a conexao com o banco e seleciona a base de dados
	$this->conecta = mysqli_connect($this->servidor, $this->usuario, $this->senha);

		if ($this->conecta)
	 mysqli_select_db($this->banco, $this->conecta); #line 32

	}//fim conectabd
	
/*...............................................................................
.................
  .:: Método getInstancia: Método para recuperar instancia
................................................................................
................*/	
	 function getInstancia() {

		if (!ConectaBd::$instancia) {
		ConectaBd::$instancia = new ConectaBd();//chamando construtor
		}
		return ConectaBd::$instancia;

	}

/*...............................................................................
.................
  .:: Método sql: Serve para fazer a query ao banco de dados
................................................................................
................*/
	function sql($query) {
		$this->query = $query;
	
		if ($result = mysqli_query($this->conecta,$this->query))
			return $result;
		else 
			return 0;
	
	}//fim sql

}//fim class conectabd

?>

 

cadastroAluno.php

<?php
/*////////////////////////////////////////////////////////////////////////////////////////////////
 * .:: Conectando com o banco de dados...
////////////////////////////////////////////////////////////////////////////////////////////////*/
include_once ("../conexao/conectaBd.php");

/*
 .:: Classe cadastroAluno : Faz o cadastro de alunos  
*/
class cadastroAluno {

	 var $nomeAlu;
	 var $sexoAlu;
	 var $cpfAlu;
	 var $enderecoAlu;
	 var $bairroAlu;
	 var $profissaoAlu;
	 var $responsavelAlu;
	 var $mensalidadeAlu;
	 var $dataNascimentoAlu;
	 var $dataInicioAlu;

/*...............................................................................
.................
  .:: Método construtor: 
................................................................................
................*/

	public function cadastroAluno($nomeAlu,$sexoAlu,$cpfAlu,$enderecoAlu,$bairroAlu,$profissaoAlu,$responsavelAlu,$mensalidadeAlu,$dataNascimentoAlu,$dataInicioAlu ) {
	
   		$this->nomeAlu = $nomeAlu;
		$this->sexoAlu = $sexoAlu;
		$this->cpfAlu = $cpfAlu;
		$this->dataNascAlu = $dataNascAlu;
		$this->enderecoAlu = $enderecoAlu;
		$this->bairroAlu = $bairroAlu;
		$this->profissaoAlu = $profissaoAlu;
		$this->responsavelAlu = $responsavelAlu;
		$this->mensalidadeAlu = $mensalidadeAlu;
		$this->dataInicioAlu = $dataInicioAlu;
	}

	public function adicionar() {
		//$con = new conectaBd();
		$con = conectaBd::getInstancia();
	
		// Pesquisa se o CPF ja está cadastrado.
		$select_cpf = $con->sql("SELECT idUsuario FROM usuario WHERE cpfUsu='$cpfUsu'");
	
		//Se o cpf não estiver cadastrado irá inserir o novo usuário
		if (mysqli_num_rows($select_cpf)==0){//if 1 #line 49

			   $insert_aluno = $con->sql("INSERT INTO aluno
			(nomeAlu,cpfAlu,dataNascAlu,encerecoAlu,bairroAlu,profissaoAlu,
			responsavelAlu,mensalidadeAlu,dataInicioAlu)
			VALUES ('$this->nomeAlu','$this->cpfAlu','$this->dataNascAlu','$this->enderecoAlu',
			'$this->bairroAlu','$this->profissaoAlu','$this->responsavelAlu',
			'$this->mensalidadeAlu,'$this->dataInicioAlu') ");
						
			if($insert_aluno) {//if 2
				$msg_usuario = "Cadastro realizado com sucesso";
				echo '<script>alert("'.$msg_usuario.'")</script>';
			}//fim if 2
			else{//else if 2
				$msg_usuario = "Erro ao adicionar o usuário!!!";
				echo '<script>alert("'.$msg_usuario.'")</script>';
			}//fim else 2	
			
   		}//fim if 1
		else {//else if 1
			$msg_usuario = "CPF: $cpfUsu Já foi cadastrado!";
			echo '<script>alert("'.$msg_usuario.'")</script>';
		}//fim else if 1

	}//fim adicionar
}
?>

 

aqui estão os erros:

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\wamp\www\conexao\conectaBd.php on line 32

 

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, integer given in C:\wamp\www\cadastro aluno\cadastroAluno.php on line 49

Desde ja agradeço, espero que me ajudem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica nao use var ela é obsoleta , no PHP 5 se usa visibilidade private, protected, public, etc...

 

nao use mysqli_select_db, tambem é uma funcao obsoleta

 

use

$this->conecta = new mysqli($this->servidor, $this->usuario, $this->senha, $this->banco);

 

e para testar se a conexao deu certo:

 

if (mysqli_connect_errno()) {

die(mysqli_connect_error());

}

 

e essa classe "singleton" esta errada o metodo getInstancia tem que ser static

 

eu percebi que você ta mechendo com php 5 mas ainda tem as velhas manias, com php 5 da pra melhorar e muito sua classe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica nao use var ela é obsoleta , no PHP 5 se usa visibilidade private, protected, public, etc...

 

nao use mysqli_select_db, tambem é uma funcao obsoleta

 

use

$this->conecta = new mysqli($this->servidor, $this->usuario, $this->senha, $this->banco);

 

e para testar se a conexao deu certo:

 

if (mysqli_connect_errno()) {

die(mysqli_connect_error());

}

 

e essa classe "singleton" esta errada o metodo getInstancia tem que ser static

 

eu percebi que você ta mechendo com php 5 mas ainda tem as velhas manias, com php 5 da pra melhorar e muito sua classe.

vlws kra sem erros na conexão agora... fiz um select no banco e funcionou perfeitamente, só q deve ter algum erro na classe cadastroAluno, pois quando faço o cadastro ele ja vai pra esse else:

else{//else if 2
				$msg_usuario = "Erro ao adicionar o usuário!!!";
				echo '<script>alert("'.$msg_usuario.'")</script>';
			}//fim else 2

C alguem ai puder me ajudar...

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.