*Pessoal fiz essa classe para abstrair as rotinas de acesso a base com o MySQL assim ficando mais fácil e mais parecido com ASP.
OBS: Feito para PHP 5.0.1 e MySQL 4.0
/*
* Classe: ADODB
* Finalidade: Abstrair o acesso a base de dados MySQL deixando assim o desenvolvimento mais rapido e eficiente.
* Design Pattern: Singleton a conexão está com singleton.
* Data: 07/12/2005 00:41:00.000
* Autor: Diego Pacheco
* Contato: pacheco_programador@hotmail.com
*
*/
class ADODB
{
/* Identificador da conexão com o banco */
static private $id_cnn = null;
/* Identificador da ultima query executada! */
static private $query = null;
/* Identificador do registro que está sendo lido agora! */
static private $recordSet = null;
/* Construtor vazio que será usado para fazer o pattern Singleton. */
private function __construct() {}
/* Metodo que conecta com a base e devolve uma conexão com o banco */
static public function getInstance($host,$banco,$usuario,$senha)
{
if (!isset(self::$id_cnn))
{
self::$id_cnn = mysql_connect($host,$usuario,$senha);
mysql_select_db($banco,self::$id_cnn);
}
return self::$id_cnn;
}
/* Metodo que executa uma query */
static public function execute($sql)
{
self::$query = mysql_query($sql,self::$id_cnn);
return self::$query;
}
/* Metodo que informa quantas linhas existem na query */
static public function rowsAfected()
{
return mysql_num_rows(self::$query);
}
/* Metodo que anda para o proximo registro retorna true quando acabou os registros! */
static public function EOF()
{
self::$recordSet = mysql_fetch_array(self::$query);
return (!(self::$recordSet));
}
/* Metodo que retorna o campo de um registro */
static public function fields($campo)
{
return self::$recordSet[$campo];
}
/* Metodo que retorna o número do erro da base */
static public function getErrNum()
{
return mysql_errno();
}
/* Metodo que retorna a mensagem de erro da base. */
static public function getErrDesc()
{
return mysql_error();
}
/* Destrutor da classe ao objeto ser destruido ele fecha a conexão com o banco! */
function __destruct()
{
mysql_close(self::id_cnn);
}
}
?>
Exemplo Funcional:
<?php
include("ADODB.php");
/* Conecta com a base de dados. */
ADODB::getInstance("localhost","gem","root","");
/* Executa um SQL */
ADODB::execute("Select * from encontros ");
/* Percore os dados */
while (!ADODB::EOF())
{
/* Pega o campo data e imprime na tela. */
echo "Data: ".ADODB::fields("data")."<BR>";
}
/* Mostra o total de tuplas */
echo "<BR> Total de Registros: ".ADODB::rowsAfected()."<BR>";
/* Executa um SQL qualquer(Força o erro!) */
ADODB::execute("insert master_not_exist into (val) values(1) ");
/* Verifica se deu erro */
if (ADODB::getErrNum()!=0)
{
/* Pega o número e a descrição do erro */
echo "Num Erro: ".ADODB::getErrNum()."<BR>";
echo "Desc Erro: ".ADODB::getErrDesc()."<BR>";
}
else
{
echo "Não deu erro!";
}
?>
Pergunta
Beraldo
Script postado por: dmetallica
:: ADODB ::
*Pessoal fiz essa classe para abstrair as rotinas de acesso a base com o MySQL assim ficando mais fácil e mais parecido com ASP.
OBS: Feito para PHP 5.0.1 e MySQL 4.0
Exemplo Funcional::: B)
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.