2013-02-19 76 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