Meu nome é Rodrigo e nunca postei aqui, mas por várias vezes em busca de soluções consegui acha-las aqui (mas por questão de tempo não acompanho o fórum com frequencia para conhecer o pessoal).
Fiz uma classe para trabalhar com MySQL, num primeiro momento ela parece meio inútil e sinônimo das funções originais com leves alterações, mas futuramente pretendo encrementar com algumas opções que acho viáveis, como por exemplo, eu receber um alerta quando ocorrerem erros no acesso ao banco ou tabelas, instegração com o postgre (caso seja necessário em outros projetos), etc.
Sinceramente não sou um gênio com classes, pelo contrário, estou apanhando bastante delas, então gostaria de postar aqui o código, e ver a opinião de vocês (melhorias, sugestões, opiniões em geral) pois acredito que será muito valioso. Claro, se vocês estiverem dispostos.
Valeu!
Rodrigo
<?
include "config.php";
class conexao {
private $conexao;
private $query;
private $resultado;
private $linhas;
private $linhas_total;
function conexao(){
global $conf_sql; // AS CONFIGS VEM DE FORA DE OUTRO ARQUIVO
$this->querys = array();
$this->resultados = array();
$this->conexao = @mysql_pconnect($conf_sql["endereco"], $conf_sql["usuario"], $conf_sql["senha"]) or die ($this->erro());
@mysql_select_db($conf_sql["banco"], $this->conexao) or die ($this->erro());
}
function erro(){
echo "Ocorreu um erro interno com o banco de dados, por favor, tente novamente dentro de alguns minutos.<br>";
echo mysql_error(). " (" .mysql_errno(). ").<br>";
exit;
}
function query($query){
$this->query = @mysql_query($query, $this->conexao) or die ($this->erro());
// SE FOR SELECT, AINDA NÃO ESTOU FAZENDO ESSA VERIFICAÇÃO
$this->linhas = 0;
$this->resultado = array();
while($r = mysql_fetch_array($this->query)){
array_push($this->resultado, $r);
}
$this->linhas_total = count($this->resultado);
mysql_free_result($this->query);
}
function resultado(){
if ($this->linhas <= $this->linha_total+1){
$this->linhas++;
return $this->resultado[$this->linhas-1];
}
}
}
// UTILIZAÇÃO
$c = new conexao();
$c->query("select * from produtos");
while($linha = $c->resultado()){
echo $linha["nome"]. "<br>";
}
$c->query("select * from clientes");
while($linha = $c->resultado()){
echo $linha["email"]. "<br>";
}
?>
Pergunta
Guest --Rodrigo --
Boa tarde pessoal.
Meu nome é Rodrigo e nunca postei aqui, mas por várias vezes em busca de soluções consegui acha-las aqui (mas por questão de tempo não acompanho o fórum com frequencia para conhecer o pessoal).
Fiz uma classe para trabalhar com MySQL, num primeiro momento ela parece meio inútil e sinônimo das funções originais com leves alterações, mas futuramente pretendo encrementar com algumas opções que acho viáveis, como por exemplo, eu receber um alerta quando ocorrerem erros no acesso ao banco ou tabelas, instegração com o postgre (caso seja necessário em outros projetos), etc.
Sinceramente não sou um gênio com classes, pelo contrário, estou apanhando bastante delas, então gostaria de postar aqui o código, e ver a opinião de vocês (melhorias, sugestões, opiniões em geral) pois acredito que será muito valioso. Claro, se vocês estiverem dispostos.
Valeu!
Rodrigo
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.