original_string: private function prepare($query, $parameters)
      {
          if (!$parameters) {
              $parameters = array();
          } elseif (!is_array($parameters)) {
              $parameters = array($parameters);
          }
  
          $this->paramNb = 0;
          $this->params = & $parameters;
          $query = preg_replace_callback('/\?/', array($this, 'replaceParam'), $query);
  
          return $query;
      }
code: private function prepare($query, $parameters)
      {
          if (!$parameters) {
              $parameters = array();
          } elseif (!is_array($parameters)) {
              $parameters = array($parameters);
          }
  
          $this->paramNb = 0;
          $this->params = & $parameters;
          $query = preg_replace_callback('/\?/', array($this, 'replaceParam'), $query);
  
          return $query;
      }
code_tokens: private function prepare ( $ query , $ parameters ) { if ( ! $ parameters ) { $ parameters = array ( ) ; } elseif ( ! is_array ( $ parameters ) ) { $ parameters = array ( $ parameters ) ; } $ this -> paramNb = 0 ; $ this -> params = & $ parameters ; $ query = preg_replace_callback ( '/\?/' , array ( $ this , 'replaceParam' ) , $ query ) ; return $ query ; }
docstring: Input is a prepared SQL statement and parameters
  Returns the SQL statement
  
  @param string $query
  @param array $parameters
  @return string
docstring_tokens: Input is a prepared SQL statement and parameters Returns the SQL statement