0

有人可以帮助我理解为什么 __construct() 没有按预期工作?或者为什么 $link 是未定义的?

我收到错误:

注意:未定义变量:第 29 行 D:\wamp\www\OI_WORK\forms\Projeto_Interface\ONGOING\php\class.php 中的链接

这是第 29 行:

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

$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->logar() 的函数

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();
     }
  }

问候,

4

1 回答 1

0

在专家朋友的帮助下发现了错误

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

错误的

mysqli_error($link));

正确的

mysqli_error($this->link));
于 2014-02-12T11:03:59.773 回答