Seite 1 von 1

[gelöst] Parametrisierung von SQL-Queries und SELECT *

Verfasst: Donnerstag 7. Februar 2008, 14:27
von würmchen
Hi Leute...
habe nach vielem Lesen herausgefunden das ich mal wieder alles falsch mache und nun mein Script so umgebaut, das ich mit Parametern arbeite.

Jetzt hab ich jedoch das Problem, wenn ich nur einen SELECT * FROM table machen will, dann eine Fehlermeldung kommt...

Stell ich mich jetzt nur doof an, oder muss ich dafür ne eigene methode schreiben, in der ich args nicht übergebe?

Verfasst: Donnerstag 7. Februar 2008, 14:29
von Jan-Peer
Ein Stückchen Code würde die Sache sicher erhellen, aber pauschal würde ich sagen: Ja.

Verfasst: Donnerstag 7. Februar 2008, 14:51
von würmchen

Code: Alles auswählen

    def askDb(query="", value=""):
        try:
            cur.execute(query, value)
            result = self.cur.fetchall()
        except MySQLdb.Error:
            raise "Error calling the database"
        return result
und dann mach ich später sowas hier...

Code: Alles auswählen

test = askDb("SELECT * FROM table")

Das ganze passiert in nem Webinterface und ich bekomme die Fehleraufgabe als html....
TypeError: not all arguments converted during string formatting
args = ('not all arguments converted during string formatting',)

Verfasst: Donnerstag 7. Februar 2008, 15:00
von Jan-Peer
Nimm mal als Default-Wert für value ein leeres tuple ...

execute() erwartet als zweites Argument eine Liste oder ein Tuple, ein leerer String tut es nicht.

Verfasst: Donnerstag 7. Februar 2008, 15:24
von würmchen
Super, das hat geholfen :-)