2012-01-03 126 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