Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, não uso muito oo, estou tentando e estou com este problema, criei apenas o script para logar no sistema, isso está tranquilo, mas quando tento fazer um select, da um erro:
quando chamo a função seleciona em outra pagina da este erro
Warning: mysql_query() [function.mysql-query]: Access denied for user ''@'localhost' (using password: NO) in C:\Program Files\EasyPHP-5.3.9\www\intra\class\conexao.class.php on line 52
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\EasyPHP-5.3.9\www\intra\class\conexao.class.php on line 52
erro na queryAccess denied for user ''@'localhost' (using password: NO)
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in C:\Program Files\EasyPHP-5.3.9\www\intra\class\conexao.class.php on line 64
**linha 52 **if($this->resultado = mysql_query($this->query))
**linha 64** $dados = mysql_fetch_assoc($query = $this->query("SELECT * FROM tbl_usuario"));
<?php
class conexao
{
public $basadedados = 'projeto';
public $local = 'localhost';
public $link;
public $query;
public $resultado;
public function verifica($usuario, $senha)
{
if($usuario == 'root'){echo 'bloqueado';exit();}
$this->link = mysql_connect($this->local, $usuario, $senha);
if(!$this->link)
{
echo 'erro ao se conectar <br>'.mysql_error();
}
else if(!mysql_select_db($this->basadedados, $this->link))
{
echo 'erro ao selecionar banco <br>'.mysql_error();
}
else
{
$this->logar($usuario);
}
}
public function logar($usuario)
{
session_start();
$usuario = mysql_real_escape_string($usuario);
$dados = mysql_fetch_assoc($query = $this->query("SELECT * FROM tbl_usuario WHERE (usuario_tbl_usuario = '". $usuario ."') LIMIT 1"));
if(mysql_num_rows($query) != 1){
header('location: index.php');
}
else
{
$_SESSION['usuario'] = $dados['usuario_tbl_usuario'];
$_SESSION['id'] = $dados['id_tbl_usuario'];
header('location: home.php');
}
}
public function query($query)
{
$this->query = $query;
if($this->resultado = mysql_query($this->query))
{
return $this->resultado;
}
else
{
echo 'erro na query'.mysql_error();
}
}
public function seleciona()
{
$dados = mysql_fetch_assoc($query = $this->query("SELECT * FROM tbl_usuario"));
}
}
?>mas quando eu logo não da erro nenhum, só quanto tento utilizar a função seleciona que da este erro? ele perde p link de conexao?
Você provavelmente está usando o método [inline]seleciona[/inline] em uma classe [inline]conexao[/inline] que não possui um nome de usuário armazenado em lugar nenhum.
Veja que o erro de SQL foi de [inline]acesso negado ao usuário ''@localhost[/inline]
sim, isso mesmo, criei a função seleciona dentro da classe de conexao, acontece que quando efetuou o loguin, envio o usuário e a senha porpost para a classe conexao, ai verifico e logo, da certo, mas quanto tento utilizar a mesma conexao o usuario não existe
Então armazene o nome do usuário em alguma propriedade da classe [inline]conexão[/inline]
Você não está passando um usuário para [inline]conexao->verifica[/inline]