original_string: public function select($sql, $class = "", $all = FALSE, $array = array())
      {
          // Prepara a Query
          $sth = $this->prepare($sql);
  
          // Define os dados do Where, se existirem.
          foreach ($array as $key => $value) {
              // Se o tipo do dado for inteiro, usa PDO::PARAM_INT, caso contr�rio, PDO::PARAM_STR
              $tipo = (is_int($value)) ? PDO::PARAM_INT : PDO::PARAM_STR;
  
              // Define o dado
              $sth->bindValue("$key", $value, $tipo);
          }
  
          // Executa
          $sth->execute();
  
          // Executar fetchAll() ou fetch()?
  
          // Retorna a cole��o de dados (array multidimensional)
  
  
          if ($sth->rowCount() <= 0)
              return null;
  
          if ($class == "") {
  
              if ($all == false and $sth->rowCount() == 1) {
                  $array = $sth->fetchAll(PDO::FETCH_OBJ);
                  return array_shift($array);
              }
  
              return $sth->fetchAll(PDO::FETCH_OBJ);
          } else {
              if ($all == false and $sth->rowCount() == 1) {
                  $array = $sth->fetchAll(PDO::FETCH_CLASS, $this->getClass($class));
                  return array_shift($array);
              }
  
              return $sth->fetchAll(PDO::FETCH_CLASS, $this->getClass($class));
          }
  
      }
code: public function select($sql, $class = "", $all = FALSE, $array = array())
      {
          // Prepara a Query
          $sth = $this->prepare($sql);
  
          // Define os dados do Where, se existirem.
          foreach ($array as $key => $value) {
              // Se o tipo do dado for inteiro, usa PDO::PARAM_INT, caso contr�rio, PDO::PARAM_STR
              $tipo = (is_int($value)) ? PDO::PARAM_INT : PDO::PARAM_STR;
  
              // Define o dado
              $sth->bindValue("$key", $value, $tipo);
          }
  
          // Executa
          $sth->execute();
  
          // Executar fetchAll() ou fetch()?
  
          // Retorna a cole��o de dados (array multidimensional)
  
  
          if ($sth->rowCount() <= 0)
              return null;
  
          if ($class == "") {
  
              if ($all == false and $sth->rowCount() == 1) {
                  $array = $sth->fetchAll(PDO::FETCH_OBJ);
                  return array_shift($array);
              }
  
              return $sth->fetchAll(PDO::FETCH_OBJ);
          } else {
              if ($all == false and $sth->rowCount() == 1) {
                  $array = $sth->fetchAll(PDO::FETCH_CLASS, $this->getClass($class));
                  return array_shift($array);
              }
  
              return $sth->fetchAll(PDO::FETCH_CLASS, $this->getClass($class));
          }
  
      }
code_tokens: public function select ( $ sql , $ class = "" , $ all = FALSE , $ array = array ( ) ) { // Prepara a Query $ sth = $ this -> prepare ( $ sql ) ; // Define os dados do Where, se existirem. foreach ( $ array as $ key => $ value ) { // Se o tipo do dado for inteiro, usa PDO::PARAM_INT, caso contr�rio, PDO::PARAM_STR $ tipo = ( is_int ( $ value ) ) ? PDO :: PARAM_INT : PDO :: PARAM_STR ; // Define o dado $ sth -> bindValue ( "$key" , $ value , $ tipo ) ; } // Executa $ sth -> execute ( ) ; // Executar fetchAll() ou fetch()? // Retorna a cole��o de dados (array multidimensional) if ( $ sth -> rowCount ( ) <= 0 ) return null ; if ( $ class == "" ) { if ( $ all == false and $ sth -> rowCount ( ) == 1 ) { $ array = $ sth -> fetchAll ( PDO :: FETCH_OBJ ) ; return array_shift ( $ array ) ; } return $ sth -> fetchAll ( PDO :: FETCH_OBJ ) ; } else { if ( $ all == false and $ sth -> rowCount ( ) == 1 ) { $ array = $ sth -> fetchAll ( PDO :: FETCH_CLASS , $ this -> getClass ( $ class ) ) ; return array_shift ( $ array ) ; } return $ sth -> fetchAll ( PDO :: FETCH_CLASS , $ this -> getClass ( $ class ) ) ; } }
docstring: Executa um select no banco
  @param $sql - query
  @param string $class - Classe de retorno
  @param bool $all - Se quando retornar apenas um resultado vai voltar em um array ou um objeto unico (true = objeto)
  @param array $array - Paramentos do PDO
  @return array|mixed|null
docstring_tokens: Executa um select no banco