2012-01-03 3 views
1

Si je veux exécuter un GqlQuery avec une variable que j'ai définie est-ce possible?GAE gqlquery avec des variables

par exemple:

myNumber = 4 

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

cela se traduit par:

Parse Error: Invalid WHERE condition at symbol

Vais-je à propos de tout cela ne va pas? Merci pour votre temps.

Répondre

5

Selon The Google Appengine Documentation, votre code pourrait ressembler à ceci:

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

ou

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

selon que vous souhaitez utiliser une variable nommée ou de position.

+0

c'était tout! Je vous remercie! – loopymonkey

+0

Aussi db.GqlQuery ("SELECT * FROM myData WHERE filtre =% d"% myNumber) –

+2

@ DaveW.Smith NO! C'est un excellent moyen d'introduire des vulnérabilités d'injection GQL, et cela n'a absolument aucun avantage sur la substitution correcte des paramètres. –