2013-02-19 61 views
1

我有一个SQLite数据库SQLite数据库,我想使用Python变量中搜索:搜索与Python变量

cur.execute("SELECT * FROM list WHERE InstitutionName=Variable") 

理想地,这将让我作为一个列表返回每行一个更大的列表包含用户正在搜索的所有行。我意识到我上面是伪代码。我怎么能真正写它?

回答

12

我认为你要使用的参数替换功能:

cur.execute("SELECT * FROM list WHERE InstitutionName=?", (Variable,)) 

有更多的文档中的actual execute command和对sqlite3 docs page 4示例代码框。

请注意,您应该明确,因为这是不容易使用%format功能到注入攻击:

# NEVER DO THIS 
cur.execute("SELECT * FROM list WHERE InstitutionName='%s'" % (Variable,)) 
+0

我就会给你了票,如果我有足够的声誉!这正是我期待的!非常感谢你<3 – 2013-02-19 04:37:28

+0

哈哈,没问题。 :) – Xymostech 2013-02-19 04:39:01