Python σφάλμα web.py OperationalError: κοντά στο «όνομα»: συντακτικό λάθος

ψήφοι
0

Παίρνω ένα λάθος με τον ακόλουθο κώδικα:

class SomePage:
    def GET(self,name):
        conn = sqlite3.connect('./DB/ershou.db')
        LjDB = conn.cursor()
        searcher = web.input()
        DBsearch = LjDB.execute(select * from caiji where post like '%%%s%%'%(searcher))
        for ss in DBsearch:
            print ss[1],
            print ss[2]
        return searcher.name

Αυτό είναι το λάθος που μιλώ για:

OperationalError: near name: syntax error

Τι προκαλεί αυτό το λάθος, και πώς μπορώ να το διορθώσω;

Δημοσιεύθηκε 23/07/2014 στις 20:13
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
3

Μην χρησιμοποιείτε παρεμβολή εγχόρδων, ιδιαίτερα όταν λαμβάνονται στοιχεία από το διαδίκτυο! Μάθετε το μάθημα Μικρή Bobby πίνακες διδάσκει και τη χρήση των παραμέτρων του SQL:

DBsearch = LjDB.execute("select * from caiji where post like ?", 
                        ('%{}%'.format(searcher),))

Αυτό είναι ασφαλέστερη, ταχύτερη και πιο ευέλικτη.

Απαντήθηκε 23/07/2014 στις 20:16
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more