кто-нибудь может помочь мне понять, почему __construct() не работает должным образом? Или почему $link не определен?
Я получил ошибку:
Примечание. Неопределенная переменная: ссылка в D:\wamp\www\OI_WORK\forms\Projeto_Interface\ONGOING\php\class.php в строке 29.
Это строка 29:
$consulta = mysqli_query($this->link, $query) or die("Error consulta" . mysqli_error($link));
$link определяется здесь:
class DB{
private $link;
private $_DEFINICOES;
__конструкт():
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));
}
Я вызываю этот класс DB внутри частной функции в классе controleUsuario, и это вызывает указанную выше ошибку.
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();
}
}
С уважением,
logar
является закрытым, абсолютно не имеет отношения к тому, как работают вещи в вашем классе БД. - person Marc B   schedule 11.02.2014