banco = new SQLite3('contadordb.db'); } catch (Exception $exc) { die( $exc->getMessage() ); } // Se a tabela não foi populada, o método 'exibirValor()' retorna FALSE. // Leia o comentário do método 'exibirValor()' if(!self::exibirValor()){ // Cria a tabela $this->banco->exec('CREATE TABLE contador (valor INTEGER )'); $this->banco->exec('INSERT INTO contador (valor) VALUES (0)'); } } public function exibirValor() { // 'querySingle' - Executa a query e retorna um único resultado. // Por padrão retorna o valor da primeira coluna em forma de array(matriz), // caso contrário, o valor de retorno é FALSE. $this->resValor = $this->banco->querySingle('SELECT valor FROM contador'); return $this->resValor; } public function atualizarContador() { // Pega o valor da consulta única ($this->resValor). self::exibirValor(); // Somando e atualizando a base. $valor = $this->resValor + 1; $this->banco->exec("UPDATE contador SET valor = $valor"); } public function __destruct() { $banco->close(); } } $meuContador = new Contador(); // O Método pode entrar em alguma condição para tratar // o acesso por visita e atualizar uma única vez gravando em sessão. $meuContador->atualizarContador(); //Método para exibir o valor do contador. echo 'Contador '. $meuContador->exibirValor(); ?>