[Python-de] Maskierung von %
Hartmut Goebel
h.goebel at goebel-consult.de
Mo Feb 5 14:26:41 CET 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hallo Stefan,
> suchtext = "Python's Prozentzeichen"
> cursor.execute(
> "SELECT text FROM table WHERE text LIKE '%%(suchtext)s%'",
> {'suchtext': suchtext}) # vom DB-Adapter eingesetzt - besser
Sicher, dass Du das so willst? Denn falls der 'suchtext' ein
Leer-/Sonderzeichen enthält, wird er escaped. Dann bekommst Du diese query:
... LIKE '%'such mich'%' ...
Das ist sicher nicht das gewünschte :-)
Besser _alles_ Quoting dem Treiber überlassen, das kann das im
Zweifelsfall besser. Also:
suchtext = "Python's Prozentzeichen"
cursor.execute(
"SELECT text FROM table WHERE text LIKE %(suchtext)s",
{'suchtext': '%' + suchtext + '%' })
- --
Schönen Gruß - Regards
Hartmut Goebel
| Hartmut Goebel | IT-Security -- effizient |
| h.goebel at goebel-consult.de | www.goebel-consult.de |
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org
iQEVAwUBRccwkczajR0mSa83AQKTOQgAgBzEaIMsSufn8b1CJoMk80LLZestubcj
z42+WYgpCKFclN9+NFkVAcksoWPXdBX4JwX/LXiM0uCHYU009lCKOPbtOLJqVrTC
k/iMoXuWvSWk31W0IysHdhgg0jBnBWogsqh0RzcMexzMCMBsMzx6z4H6c5gYweI6
0VdF89ia5gHHPqca3DErUrrMOcV5Uzcs9vpq3S0RN1fHCN0gcDwQo4qgRgdMCgMQ
aLNOlm0GL2I1mSALJj1skWVAr8wkNC4LaGY/z+gL86kA1LNVyQu1NOElFm00yT+Q
blRKI4bHCzfVFRVDrrRIP/nml/zSO12uLl+DRdH2Rgj/7Le0we4AMQ==
=5w97
-----END PGP SIGNATURE-----
Mehr Informationen über die Mailingliste python-de