<? /*************************************************** Descrição: Manipulação de banco de dados Autor: Victor Melonio ***************************************************/ class class_db { // Informações necessárias para a conexão var $dados = array ('servidor' => 'localhost', 'usuario' => 'root', 'senha' => '', 'bd' => '', 'prefixo' => '' ); var $conexao_id; var $query_id; var $array; /*========================================================================*/ // Conectar ao banco de dados /*========================================================================*/ function connect () { // Definindo o prefixo if ( isset ($this->dados['prefixo']) ) { define ( "prefixo", $this->dados['prefixo'] ); } // Conexão com o servidor MySQL $this->conexao_id = mysql_connect ( $this->dados['servidor'], $this->dados['usuario'], $this->dados['senha'] ); // Verificar se a conexão foi estabelecida if ( ! $this->conexao_id ) { $this->erro_fatal(); return FALSE; } // Conexão com o banco de dados if ( ! mysql_select_db( $this->dados['bd'],$this->conexao_id ) { $this->erro_fatal(); return FALSE; } return TRUE; } /*========================================================================*/ // Inserir informação do banco de dados /*========================================================================*/ function insert ($tbl, $arr) { $parametros = $this->tratar_insert_array( $arr ); $query = "INSERT INTO ".prefixo."{$tbl} ({$parametros[CAMPO_NOMES]}) VALUES {$parametros[CAMPO_VALORES]})"; $this->consulta_id = mysql_query( $query, $this->conexao_id ); } /*========================================================================*/ // Atualizar informação do banco de dados /*========================================================================*/ function update ($tbl, $arr, $where="") { $parametros = $this->tratar_update_array( $arr ); $query = "UPDATE ".prefixo."{$tbl} SET {$parametros}"; if ( $where ) { $query .= " WHERE {$where}"; } $this->consulta_id = mysql_query( $query, $this->conexao_id ); } /*========================================================================*/ // Deletar informação do banco de dados /*========================================================================*/ function delete ( $tbl, $where ) { $query = "DELETE FROM ".prefixo."{$tbl} WHERE {$where}"; $this->consulta_id = mysql_query( $query ); } /*========================================================================*/ // Tratar array (insert) /*========================================================================*/ function tratar_insert_array ( $arr ) { foreach ( $arr as $campo => $valor ) { $CAMPO_NOMES .= "{$campo},"; $valor = preg_replace( "/'/", "\\'", $valor ); if ( is_numeric( $valor ) and intval( $valor ) == $valor ) { $CAMPO_VALORES .= "{$valor},"; } else { $CAMPO_VALORES .= "'{$valor}',"; } } $CAMPO_NOMES = preg_replace( "/,$/" , "" , $CAMPO_NOMES ); $CAMPO_VALORES = preg_replace( "/,$/" , "" , $CAMPO_VALORES ); return array( 'CAMPO_NOMES' => $CAMPO_NOMES, 'CAMPO_VALORES' => $CAMPO_VALORES ); } /*========================================================================*/ // Tratar array (update) /*========================================================================*/ function tratar_update_array ( $arr ) { foreach ( $arr as $campo => $valor ) { $valor = preg_replace( "/'/", "\\'", $valor ); $retorno .= "{$campo}='{$valor}',"; } $retorno = preg_replace("/,$/", "", $retorno); return $retorno; } } ?>
Exemplos de utilização
<? require "class_db.php"; $DB = new class_db; // $DB->dados['servidor'] = "localhost"; (já é padrão da classe) // $DB->dados['usuario'] = "root"; (já é padrão da classe) // $DB->dados['senha'] = ""; (já é padrão da classe) $DB->dados['prefixo'] = "tbl_"; // o padrão é nulo $DB->connect(); // INSERT $DB->insert( 'tabela', array('campo_1' => 'valor_1', 'campo_2' => 'valor_2') ); // UPDATE $DB->update( 'tabela', array('campo_1' => 'valor_1', 'campo_2' => 'valor_2'), "campo_id = '1'" ); // DELETE $DB->delete( 'tabela', "campo_id='1'" );