Soeben habe ich etwas ziemlich blödes festgestellt.
Im unten stehenden Code laufen unter WinXP beide Varianten (siehe Konstante VARIANTE).
Unter Linux (Ubuntu) geht nur Variante != 1, welche das Maskieren von Escape-Sequenzen nicht macht

Code: Alles auswählen
#!/Python24/python.exe
# -*- coding: iso-8859-1 -*-
# File: MySQL_scripting.py
import MySQLdb
VARIANTE = 0
def main():
Con = MySQLdb.Connect(host = '127.0.0.1',
port = 3306,
user = 'FPK',
passwd = 'kmmanager',
db = 'afv')
if Con:
if VARIANTE == 1:
statement = 'SELECT mit_id FROM mitglieder WHERE mit_user="%s";'
parameters = ('jamil')
result = sqlcmd(Con, statement, parameters)
else:
statement = 'SELECT mit_id FROM mitglieder WHERE mit_user="jamil";'
result = sqlcmd(Con, statement)
if result:
print result[0][0]
#-----------------------------------------------------
def sqlcmd(Con, cmd='', parameters=[]):
try:
Cursor = Con.cursor()
if parameters:
Cursor.execute(cmd, tuple(parameters))
else:
Cursor.execute(cmd)
result = Cursor.fetchall()
Con.commit()
return result
except:
return None
#-----------------------------------------------------
if __name__ == '__main__':
main()
Grüße
Jamil