banco = $param1; // Define banco $this->user = $param2; // Define usuário $this->senha = $param3; // Define senha } /** * Método para alterar endereço do banco * @param string $param Endereço do banco de dados * @access public */ public function setBanco($param) { // Erro caso o parametro esteja vazio if (empty($param)) { throw new Exception('O seu parâmetro deve conter algum valor'); } // Erro caso o parametro seja igual ao valor já inserido if ($this->banco == $param) { throw new Exception('Este endereço já está setado no banco atual'); } // Teste do erro try { $this->banco = $param; } catch (Exception $e) { echo $e->getMessage(); } } /** * Método para alterar usuário do banco * @param string $param Usuário do banco de dados * @access public */ public function setUser($param) { // Erro caso o parametro esteja vazio if (empty($param)) { throw new Exception('O seu parâmetro deve conter algum valor'); } // Erro caso o parametro seja igual ao valor já inserido if ($this->user == $param) { throw new Exception('Este já é o usuário em uso'); } // Teste do erro try { $this->user = $param; } catch (Exception $e) { echo $e->getMessage(); } } /** * Método para alterar senha do banco * @param string $param Senha do banco de dados * @access public */ public function setSenha($param) { $this->senha = $param; } /** * Método para alterar usuário do banco * @param string $param Usuário do banco de dados * @access public */ public function setDb($param) { // Erro caso o parametro esteja vazio if (empty($param)) { throw new Exception('O seu parâmetro deve conter algum valor'); } // Erro caso o parametro seja igual ao valor já inserido if ($this->db == $param) { throw new Exception('Essa já é a Database que está sendo utilizada'); } // Teste do erro try { $this->db = $param; } catch (Exception $e) { echo $e->getMessage(); } } /** * Método para setar o comando SQL * @param string $param Comando SQL */ public function setSql($param) { // Verifica se parametro está vazio if (empty($param)) { throw new Exception('O seu parâmetro deve conter algum valor'); } // Testa erro try { $this->sql = $param; } catch (Exception $e) { echo $e->getMessage(); } } /** * Método para conectar no banco * @access public */ public function conectar() { // Verifica se há banco de dados if (empty($this->banco)) { throw new Exception('Insira um endereço de banco de dados'); } // Verifica se o usuário foi setado if (empty($this->user)) { throw new Exception('Insira um usuário para conectar no banco'); } // Testa erros try { $this->conn = @mysql_connect($this->banco, $this->user, $this->senha) or die('Não foi possível conectar'); } catch (Exception $e) { echo $e->getMessage(); } } /** * Método para acessar uma database */ public function selecionaDb() { // Verifica se foi selecionada uma DB if (empty($this->db)) { throw new Exception('Selecione uma database'); } try { @mysql_select_db($this->db, $this->conn) or die('Não foi possível selecionar a database'); } catch (Exception $e) { echo $e->getMessage(); } } /** * Método para executar uma query SQL */ public function query() { // Verifica se há comando SQL if (empty($this->sql)) { throw new Exception('Por favor, insira um comando SQL'); } // Testa erro try { $this->querySql = @mysql_query($this->sql, $this->conn) or die('Não foi possível executar o comando'); } catch (Exception $e) { echo $e->getMessage(); } } /** * Método para armazenar valores */ public function armazenarValores() { while ($property = mysql_fetch_field($this->querySql)) { // pega o nome dos campos $this->nomeCampos .= $property->name . ";"; // insere o nome dos campos } $vetorCampos = explode(";", $this->nomeCampos); // separa o nome dos campos em um vetor $tam = count($vetorCampos); while ($row = mysql_fetch_array($this->querySql)) { $string = ""; for ($i = 0; $i < $tam; $i++) { $string .= $row[$vetorCampos[$i]] . ";"; } $this->dadosCampos[] = $string; } $this->tamCampos = count($this->dadosCampos) - 1; // armazena tamanho real de linhas } /** * Método para recuperar valor * @param integer $param1 Indexação do vetor * @param string $param2 Campo desejado * @return string Campo escolhido * @access public */ public function getCampo($param1, $param2) { // Verifica se parametros estão com dados if (empty($param2)) { throw new Exception('Todos os parâmetros devem conter valroes'); } // Testa se parametro 1 é do tipo inteiro if (!(is_int($param1))) { throw new Exception('O parâmetro de index deve ser do tipo inteiro'); } // Testa se existe a linha no vetor if ($param1 > $this->tamCampos) { throw new Exception('Não existe essa linha'); } // Executa com o teste de erros try { $vetorNomes = explode(";", $this->nomeCampos); $vetorDados = explode(";", $this->dadosCampos[$param1]); $tam = count($vetorNomes); $verifica = false; // Boolean Verificador $campo; for ($i = 0; $i < $tam; $i++) { if ($param2 == $vetorNomes[$i]) { $verifica = true; $campo = $i; // Define lugar onde campo foi achado } } if (!$verifica) { throw new Exception('Não existe nenhum campo com esse nome'); } try { $valor = $vetorDados[$campo]; // Pega campo return $valor; } catch (Exception $e) { echo $e->getMessage(); } } catch (Exception $e) { echo $e->getMessage(); } } /** * Método para retornar quantidade de linhas * @return integer $tam Quantidade de linhas */ public function quantLinhas() { $tam = count($this->dadosCampos); return $tam; } /** * Método para retornar quantidade de colunas * @return integer $tam Quantidade de colunas */ public function quantColunas() { $vetorNomes = explode(";", $this->nomeCampos); $tam = count($vetorNomes) - 1; return $tam; } } ?>