MySQLDb und execute-Methode
Verfasst: Dienstag 19. Dezember 2006, 22:59
Hi!
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
Weiß jemand, wieso das so ist?
Grüße
Jamil
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