Python web.py错误OperationalError:near" name":语法错误

时间:2014-07-23 21:13:34

标签: python web.py

我收到以下代码的错误:

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

导致此错误的原因是什么,我该如何解决?

1 个答案:

答案 0 :(得分:3)

从网络上获取输入时,请勿使用字符串插值,尤其!学习课程Little Bobby Tables教授并使用SQL参数:

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

这更安全,更快捷,更灵活。