Skip to content Skip to sidebar Skip to footer

How To Remove Extra Quotes In Pymysql

This code uses pymysql, however when i try to insert the variable title into the sql query it comes out with 'title' for example when i set title to = test the database created is

Solution 1:

In my case I just rewrite the escape method in class 'pymysql.connections.Connection', which obviously adds "'" arround your string.

I don't know whether it is a bad idea, but there seems no better ways, if anyone knows, just let me know.

Here's my code:

from pymysql.connections import Connection, converters


classMyConnect(Connection):
    defescape(self, obj, mapping=None):
        """Escape whatever value you pass to it.

        Non-standard, for internal use; do not use this in your applications.
        """ifisinstance(obj, str):
            return self.escape_string(obj)  # by default, it is :return "'" + self.escape_string(obj) + "'"ifisinstance(obj, (bytes, bytearray)):
            ret = self._quote_bytes(obj)
            if self._binary_prefix:
                ret = "_binary" + ret
            return ret
        return converters.escape_item(obj, self.charset, mapping=mapping)


config = {'host':'', 'user':'', ...}
conn = MyConnect(**config)
cur = conn.cursor()

Post a Comment for "How To Remove Extra Quotes In Pymysql"