Trata erro na conexão com banco de dados no PHP
Boa tarde,
Agradeço desde já a ajuda! Estou precisando conecta ao banco de dados e minha classe da o seguinte erro:
>
Citar
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\Painel_de_controle\classes\banco.class.php on line 65
Já fiz varias pesquisas ja fiz varias correções mas o erro persisti. Alguem pode me ajuda a entender onde errei?
Segue o código:
<?php
abstract class banco{
//PROPRIEDADES
public $servidor = "localhost:84";
public $usuario = "root";
public $senha = "";
public $nomeBanco = "ourlady";
public $conexao = NULL;
public $dataset = NULL;//resultados das pesquisas
public $linhasAfetadas = -1;
//METODOS
public function __construct(){
$this->connecta();
}//fim construtor
public function __destruct(){
if($this->conexao != NULL):
mysqli_close($this->conexao);
endif;
}//fim destrutor
public function connecta(){
$con = $this->conexao = mysqli_connect($this->servidor,$this->usuario, $this->senha) or die($this->tratarErro(__FILE__,__FUNCTION__,mysqli_errno(),errorInfo(),True));
mysqli_select_db($con,$this->nomeBanco) or die($this->tratarErro(__FILE__,__FUNCTION__,mysqli_errno(),errorInfo(),True));
mysqli_set_charset($con,'utf8');
}// fim connecta
public function inserirDados($objeto){
$conec = $this->connecta();
$erro = $this->tratarErro(__FILE__,__FUNCTION__);
$sqlInserir = "INSERT INTO ".$objeto->tabela." (";
//loop inseri valores dentro do comando sql para ser inserido no banoc de dados
for($i=0; $i<count($objeto->valores); $i++):
$sqlInserir .= key($objeto->valores);
//validação para inserir a virgula no meio do loop
if($i < (count($objeto->valores)-1)):
$sqlInserir .= ", ";
else:
$sqlInserir .= ") ";
endif;
next($objeto->valores);
endfor;
reset($objeto->valores);
$sqlInserir .= "VALUES (";
for($i=0; $i<count($objeto->valores); $i++):
// validação tenaria para puxar o segundo valor da array
$sqlInserir .= is_numeric($objeto->valores[key($objeto->valores)]) ?
$objeto->valores[key($objeto->valores)] :
"'".$objeto->valores[key($objeto->valores)]."'";
//validação para inserir a virgula no meio do loop
if($i < (count($objeto->valores)-1)):
$sqlInserir .= ", ";
else:
$sqlInserir .= ");";
endif;
next($objeto->valores);
endfor;
echo $sqlInserir;
$query = mysqli_query($conec, $sqlInserir);
return $query or $erro;
}// fim inserir daddos
public function tratarErro($arquivo=NULL, $rotina=NULL, $numErro=NULL, $msgErro=NULL, $geraExcept=FALSE){
if($arquivo==NULL) $arquivo="não informado";
if($rotina==NULL) $rotina="não informado";
if($numErro==NULL) $numErro=mysqli_connect_errno($this->conexao);
if($msgErro==NULL) $msgErro=mysqli_connect_error($this->conexao);
$resultado = 'Ocorreu o seguinte erro:<br/>
<b>Arquivo</b>'.$arquivo.'<br/>
<b>Rotina</b>'.$rotina.'<br/>
<b>Erro</b>'.$numErro.'<br/>
<b>Mensagem</b>'.$msgErro;
if($geraExcept==False):
echo($resultado);
else :
die($resultado);
endif;
}// fim tratarerro
}// fim da claas banco
?>
Discussão (1)
Carregando comentários...