2014-02-11 163 views
0

有人可以幫我理解爲什麼__construct()不能按預期工作?或者爲什麼$ link是Undefined?mysqli_connect返回到私有變量

我得到了錯誤:

注意:未定義的變量:鏈接在d:\ WAMP \ WWW \ OI_WORK \表格\ Projeto_Interface \上線29

正在進行\ PHP \ class.php這是行29 :

$consulta = mysqli_query($this->link, $query) or die("Error consulta" . mysqli_error($link)); 

$鏈接在這裏定義:

class DB{ 
    private $link; 
    private $_DEFINICOES; 

的__construct():

function __construct(){ 
    $this->_DEFINICOES = array(
      'database_ip' => "xxxx", 
      'database_user' => "xxx", 
      'database_senha' => "xxx", 
      'database_name' => "xxxx"); 

    $this->link = mysqli_connect($this->_DEFINICOES['database_ip'], $this->_DEFINICOES['database_user'], $this->_DEFINICOES['database_senha'], $this->_DEFINICOES['database_name']) or die("Error " . mysqli_error($this->link));   
    } 

我稱之爲類controleUsuario私有函數內該類DB,這產生上述錯誤

private function logar(){ 
    $banco = new DB(); 
    $retorno = $banco->consultarDB(" 
     SELECT `idusuario` 
     FROM usuariosbeta 
     WHERE idusuario = {$_SESSION['login']}"); 
    print ("numero de linhas" . $retorno->num_rows); 
    } 

這裏是調用controleUsuario-功能>洛加爾()

public function salvaPost($post){ 
    /* se o post nao estiver nulo ou com valor false atribui ao session */ 
    if(!(($post == false) or ($post == null))){ 
     foreach ($post as $key => $valor){ 
      /* segurança post */     
      $_SESSION[$key] = $valor; 
     } 
     $this->segurancaLogin($valor); 
     $this->logar(); 
    } 
    } 

問候,

+1

您只是在另一個嵌入的一個對象。你的'logar'方法是私有的這一事實完全沒有影響你的數據庫類的操作方式。 –

回答

0

找到了一個專家朋友的一點幫助錯誤

$consulta = mysqli_query($this->link, $query) or die("Erro consulta" . mysqli_error($this->link)); 

錯誤

mysqli_error($link)); 

分辯

​​