bcs_ptx 0 Denunciar post Postado Novembro 27, 2012 Ai pessoal, fiz meu primeiro script em OO, oque esta de errado para mostrar as informações da tbl_usuarios? abraços <?php class conexao{ var $local = "localhost"; var $usuario = "root"; var $senha = "051288"; var $bd = "intranet 3.1"; function conecta(){ mysql_connect($this->local, $this->usuario, $this->senha); mysql_select_db($this->bd); } function select(){ $conexao = $this->conecta(); $select = $conexao->prepara("SELECT * FROM tbl_usuarios"); return $select; } } $conexao = new conexao; $conexao->conecta(); $conexao->select(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Novembro 27, 2012 faça o conecta() retornar a conexão. faça o php exibir os erros tbm. Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 27, 2012 Fatal error: Call to a member function prepara() on a non-object in C:\Program Files\EasyPHP-5.3.9\www\intranet3.1\teste\index.php on line 20 linha 20 $select = $conexao->prepara("SELECT * FROM tbl_usuarios"); Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Lucca Carmo 13 Denunciar post Postado Novembro 27, 2012 Você está usando PHP 5+ ? Se sim , não é mais usado var na variáveis e sim propriedades de visibilidade ( private , protected , public ). function select(){ $conexao = $this->conecta(); $select = $conexao->prepara("SELECT * FROM tbl_usuarios"); return $select; } Neste parte você está chamando a função prepara , mas ela não existe Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Novembro 27, 2012 como conecta n retorna nada, $conexao é vazio logo n pode executar o metodo prepara(). $conexao = $this->conecta(); $select = $conexao->prepara("SELECT * FROM tbl_usuarios"); o metodo prepara esta em qual classe? Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 27, 2012 na real não existe não o prepara, não tenho mais classes nenhuma, tudo que tenho é isso, só queria mostrar as informações da tbl_usuarios, tipo isso <?php $seleciona = "SELECT * FROM tbl_usuarios"; $query = mysql_query($seleciona); $dados = mysql_fetch_array($query); echo $dados[0]; ?> Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Novembro 27, 2012 <?php class conexao { private $local = "localhost"; private $usuario = "root"; private $senha = "051288"; private $bd = "intranet 3.1"; private $link; function conecta() { mysql_connect($this->local, $this->usuario, $this->senha); $this->link = mysql_select_db($this->bd); } function select() { $seleciona = "SELECT * FROM tbl_usuarios"; $query = mysql_query($seleciona, $this->link); $lista = array(); while($dados = mysql_fetch_array($query)){ $lista[] = $dados; } return $lista; } } $conexao = new conexao; $conexao->conecta(); $conexao->select(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 27, 2012 Warning: mysql_query() expects parameter 2 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.9\www\intranet3.1\teste\index.php on line 21 Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\Program Files\EasyPHP-5.3.9\www\intranet3.1\teste\index.php on line 24 linha 21 $query = mysql_query($seleciona, $this->link); linha 24 while($dados = mysql_fetch_array($query)){ Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Novembro 27, 2012 tente assim: $query = mysql_query($seleciona); Compartilhar este post Link para o post Compartilhar em outros sites
brcontainer 16 Denunciar post Postado Novembro 27, 2012 shini desculpe te falar, mas da onde você tirou que mysql_select_db é um resource ??? : $this->link = mysql_select_db($this->bd) O certo é isso: <?php class conexao { private $local = "localhost"; private $usuario = "root"; private $senha = "051288"; private $bd = "intranet 3.1"; private $link; function conecta() { if($this->link = mysql_connect($this->local, $this->usuario, $this->senha)){ mysql_select_db($this->bd); } else { echo 'Falha na conexão'; exit; } } function select() { $seleciona = "SELECT * FROM tbl_usuarios"; $query = mysql_query($seleciona, $this->link); $lista = array(); while($dados = mysql_fetch_array($query)){ $lista[] = $dados; } return $lista; } } $conexao = new conexao; $conexao->conecta(); $conexao->select(); ?> Abraço Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 27, 2012 assim não da erro mais, mas não mostrou nada Compartilhar este post Link para o post Compartilhar em outros sites
brcontainer 16 Denunciar post Postado Novembro 27, 2012 assim não da erro mais, mas não mostrou nada Não falta um print_r ou var_dump? Por exemplo: <?php class conexao { private $local = "localhost"; private $usuario = "root"; private $senha = "051288"; private $bd = "intranet 3.1"; private $link; function conecta() { mysql_connect($this->local, $this->usuario, $this->senha); $this->link = mysql_select_db($this->bd); } function select() { $seleciona = "SELECT * FROM tbl_usuarios"; $query = mysql_query($seleciona, $this->link); $lista = array(); while($dados = mysql_fetch_array($query)){ $lista[] = $dados; } return $lista; } } $conexao = new conexao; $conexao->conecta(); prin_r( $conexao->select() ); Ou você prefere que a própria função conexao::select exiba os dados? Se for isso, tente assim: <?php class conexao { private $local = "localhost"; private $usuario = "root"; private $senha = "051288"; private $bd = "intranet 3.1"; private $link; function conecta() { mysql_connect($this->local, $this->usuario, $this->senha); $this->link = mysql_select_db($this->bd); } function select() { $seleciona = "SELECT * FROM tbl_usuarios"; $query = mysql_query($seleciona, $this->link); $lista = array(); while($dados = mysql_fetch_array($query)){ print_r( $dados ); } } } $conexao = new conexao; $conexao->conecta(); $conexao->select(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Novembro 27, 2012 Isso ai mesmo cara, vou dar uma estudada encima disso agora e aprender um pouco sobre oo. valeu abração Compartilhar este post Link para o post Compartilhar em outros sites