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

+0

また、db.GqlQuery( "SELECT * FROM myData WHEREフィルタ=%d"%myNumber) –

+2

@ DaveW.Smith NO!これはGQLインジェクションの脆弱性を導入するうえで最適な方法です。 –