I'm getting SQL Exception (unrecognized token) when I use my function to retrieve data from "mysql.db". The exception occurs when String address has quotes inside.
I already tried to change this line
KEY_ADDRESS + "='" + address + "'",
to
KEY_ADDRESS + "=\"" + address + "\"",
It solves my problem for strings containing single quote (') and (`), but creates another problem for strings containing double quotes (").
I tried using
DatabaseUtils.sqlEscapeString(address);
with no effect.
I tried to use escape function from this question: How do I escape special characters in MySQL?, but it did not work.
This is my code:
public Cursor getNameFromAddress(String address) throws SQLException
{
    Cursor mCursor =
            db.query(DATABASE_TABLE_PRINC, new String[] {
                    KEY_ROWID,
                    KEY_NAME,
                    KEY_ADDRESS
                    },
                    KEY_ADDRESS + "='" + address + "'",
                    null,
                    null,
                    null,
                    null,
                    null);
    if (mCursor != null) {
        mCursor.moveToFirst();
    }
    return mCursor;
}
 
     
     
     
    