0
Je reçois l'erreur: sqlite3.OperationalError: near "%": syntax error
lorsque j'essaie d'exécuter le code suivant. import sqlite3sqlite3.OperationalError: près de "%": erreur de syntaxe?
def getFromDB(DBname,table, url):
conn = sqlite3.connect(DBname)
cursor = conn.cursor()
sql = '''SELECT * FROM %s WHERE URL=%s'''
stuff = cursor.execute(sql, (table,url))
stuff = stuff.fetchall()
return stuff
url = 'http://www.examplesite.com/'
getFromDB('AuthorData.sqlite','forbes',url)
J'utilise des paramètres dans ma requête à l'aide SQL
%s
. Merci pour l'aide!
Le [sqlite3] (https://docs.python.org/3/library/sqlite3.html) module utilise '' comme espace réservé?. –
J'ai essayé cela. J'ai la même erreur sauf qu'au lieu de '%' Cela montre '?'. –
Ah oui, manqué que vous essayez de passer un identifiant (nom de la table). Cela ne fonctionnera pas en utilisant des espaces réservés. Que vous devez formater dans la chaîne. Voir http://stackoverflow.com/questions/3247183/variable-table-name-in-sqlite par exemple. –