original_docstring: Prepare and execute a MySQL Prepared Statement
  
          This method will preare the given operation and execute it using
          the optionally given parameters.
  
          If the cursor instance already had a prepared statement, it is
          first closed.
          
docstring: Prepare and execute a MySQL Prepared Statement
  This method will preare the given operation and execute it using
  the optionally given parameters.
  
  If the cursor instance already had a prepared statement, it is
  first closed.
docstring_tokens: Prepare and execute a MySQL Prepared Statement This method will preare the given operation and execute it using the optionally given parameters . If the cursor instance already had a prepared statement it is first closed .
code: def execute(self, operation, params=(), multi=False):  # multi is unused
          """Prepare and execute a MySQL Prepared Statement
  
          This method will preare the given operation and execute it using
          the optionally given parameters.
  
          If the cursor instance already had a prepared statement, it is
          first closed.
          """
          if operation is not self._executed:
              if self._prepared:
                  self._connection.cmd_stmt_close(self._prepared['statement_id'])
  
              self._executed = operation
              try:
                  if not isinstance(operation, bytes):
                      operation = operation.encode(self._connection.charset)
              except (UnicodeDecodeError, UnicodeEncodeError) as err:
                  raise errors.ProgrammingError(str(err))
  
              # need to convert %s to ? before sending it to MySQL
              if b'%s' in operation:
                  operation = re.sub(RE_SQL_FIND_PARAM, b'?', operation)
  
              try:
                  self._prepared = self._connection.cmd_stmt_prepare(operation)
              except errors.Error:
                  self._executed = None
                  raise
  
          self._connection.cmd_stmt_reset(self._prepared['statement_id'])
  
          if self._prepared['parameters'] and not params:
              return
          elif len(self._prepared['parameters']) != len(params):
              raise errors.ProgrammingError(
                  errno=1210,
                  msg="Incorrect number of arguments " \
                      "executing prepared statement")
  
          res = self._connection.cmd_stmt_execute(
              self._prepared['statement_id'],
              data=params,
              parameters=self._prepared['parameters'])
          self._handle_result(res)
code_tokens: def execute ( self , operation , params = ( ) , multi = False ) : if operation is not self . _executed : if self . _prepared : self . _connection . cmd_stmt_close ( self . _prepared [ 'statement_id' ] ) self . _executed = operation try : if not isinstance ( operation , bytes ) : operation = operation . encode ( self . _connection . charset ) except ( UnicodeDecodeError , UnicodeEncodeError ) as err : raise errors . ProgrammingError ( str ( err ) ) if b'%s' in operation : operation = re . sub ( RE_SQL_FIND_PARAM , b'?' , operation ) try : self . _prepared = self . _connection . cmd_stmt_prepare ( operation ) except errors . Error : self . _executed = None raise self . _connection . cmd_stmt_reset ( self . _prepared [ 'statement_id' ] ) if self . _prepared [ 'parameters' ] and not params : return elif len ( self . _prepared [ 'parameters' ] ) != len ( params ) : raise errors . ProgrammingError ( errno = 1210 , msg = "Incorrect number of arguments " "executing prepared statement" ) res = self . _connection . cmd_stmt_execute ( self . _prepared [ 'statement_id' ] , data = params , parameters = self . _prepared [ 'parameters' ] ) self . _handle_result ( res )
short_docstring: Prepare and execute a MySQL Prepared Statement
  This method will preare the given operation and execute it using
  the optionally given parameters.
short_docstring_tokens: Prepare and execute a MySQL Prepared Statement This method will preare the given operation and execute it using the optionally given parameters .
comment: # multi is unused$SEP$"""Prepare and execute a MySQL Prepared Statement
  
          This method will preare the given operation and execute it using
          the optionally given parameters.
  
          If the cursor instance already had a prepared statement, it is
          first closed.
          """$SEP$# need to convert %s to ? before sending it to MySQL