Classe para manipulação do BB (MySQL)
Publicado por André Lourenço Pedroso 26/02/2007
[ Hits: 5.142 ]
Homepage: http://apedroso.blogspot.com
Download acessaBasedeDados.class.php
Classe para facilitar o acesso às informações de uma tabela.
==> Mandem dicas para melhorias: ainda está simples, porém muito útil.
<?php
// *
// * @author Andre Lourenco Pedroso - alp.pedroso@gmail.com
// *
// * @date 10 de Janeiro de 2007
// *
/**
* Manipulação de bando de dados.
*
* @method
* conectar(), desconectar(), executa($sql), consultar($sql), primeiraLinha(),
* ultimaLihna(), proximaLinha(), voltarLinha(), conteudoDaLinha().
*
*/
class acessoBaseDeDados
{
private $con;
private $resultado;
private $nlinhas;
private $linha;
private $dados;
private $host;
private $user;
private $pass;
private $bd;
function acessoBaseDeDados($host="", $user="", $pass="", $bd="")
{
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->bd = $bd;
}
/**
*
* Abre a conexao.
*
* @access public
*
*/
public function conectar()
{
$this->con = mysql_connect($this->host, $this->user, $this->pass)or die('Não foi possível conectar: ' . mysql_error());
mysql_select_db($this->bd) or die('Não foi possível selecionar o banco da dados');
}
/**
*
* Fecha a conexao.
*
* @access public
*
*/
public function desconectar()
{
mysql_close($this->con);
}
/**
*
* Manipula dados da tabela atravez de SQL.
*
* @access public
*
*/
public function executa($sql)
{
mysql_query($sql, $this->con) or die ("Erro ao executar o comando! ->".mysql_error());
}
/**
*
* Carrega a consulta e aponta para primeira linha.
*
* @access public
*
*/
public function consultar($sql)
{
$this->resultado = mysql_query($sql, $this->con);
if ($this->resultado)
{
$this->nlinhas = mysql_num_rows($this->resultado);
$this->linha = 0;
}
}
/**
*
* Retorna a primeira linha da consulta feita pelo metodo navegar.
*
* @access public
* @return Array
*
*/
public function primeiraLinha()
{
$this->linha = 0;
$this->conteudoDaLinha();
return $this->dados;
}
/**
*
* Retorna a ultima linha da consulta feita pelo metodo navegar.
*
* @access public
* @return Array
*
*/
public function ultimaLinha()
{
$this->linha = $this->nlinhas-1;
$this->conteudoDaLinha();
return $this->dados;
}
/**
*
* Retorna a proxima linha de acordo com o valor de $linha.
*
* @access public
* @return Array
*
*/
public function proximaLinha()
{
if($this->linha < $this->nlinhas-1)
{
$this->linha++;
$this->conteudoDaLinha();
return $this->dados;
}
else
{
return NULL;
}
}
/**
*
* Retorna a linha anterior de acordo com o valor de $linha.
*
* @access public
* @return Array
*
*/
public function voltarLinha()
{
if($this->linha > 0)
{
$this->linha--;
$this->conteudoDaLinha();
return $this->dados;
}
else
{
$this->conteudoDaLinha();
return $this->dados;
}
}
/**
*
* Aponta para a linha passada pelas funcoes que a chama e
* grava o resultado em $dados.
*
* @access private
*
*/
private function conteudoDaLinha()
{
mysql_data_seek($this->resultado, $this->linha);
$this->dados = mysql_fetch_array($this->resultado);
}
}
?>
protegendo suas páginas de maneira eficiente
Classe básica de acesso a PostGreSQL pronta para extensões
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









