2012-01-03 55 views
1

如果我想運行一個GqlQuery與我設置的變量是可能的?GAE gqlquery與變量

例如:

myNumber = 4 

myResult = db.GqlQuery("SELECT * from myData WHERE filter = myNumber") 

這導致:

Parse Error: Invalid WHERE condition at symbol

我要對所有這一切錯了嗎?謝謝你的時間。

回答

5

The Google Appengine Documentation,你的代碼可能是這樣的:這取決於你是否要使用一個名爲或位置可變

myNumber = 4 
myResult = db.GqlQuery("SELECT * FROM myData WHERE filter = :num", num=myNumber) 

myNumber = 4 
myResult = db.GqlQuery("SELECT * FROM myData WHERE filter = :1", myNumber) 

+0

就是這樣!謝謝! – loopymonkey 2012-01-03 21:11:39

+0

也db.GqlQuery(「SELECT * FROM myData WHERE filter =%d」%myNumber) – 2012-01-03 22:11:19

+2

@ DaveW.Smith NO!這是引入GQL注入漏洞的好方法,與正確的參數替換完全沒有任何優勢。 – 2012-01-04 00:57:17