Seite 1 von 1

Mysql Datenimport mit Startparametern

Verfasst: Freitag 2. Mai 2008, 15:50
von DaPepsi
Hidiho,

Code: Alles auswählen

#!/usr/bin/python

import sys
import MySQLdb

conn = MySQLdb.connect (host = "localhost",
        user = "x",
        passwd = "x",
        db = "x")

cursor = conn.cursor()

print "%s %s %s" % (sys.argv[1], sys.argv[2], sys.argv[3])

def put():
        cursor.execute ("""
                INSERT INTO stats (pin, nr, date)
                VALUES
                        ('%s', '%s', '%s' % (sys.argv[1], sys.argv[2], sys.argv[3]))
                """)


put()
conn.close()
cursor.close()
Das Programm wird ./import.py 1 2 3 gestartet.
Mein Ziel ist es, dass diese Parameter in pin, nr und date importiert werden. Mit meinem Versuch hats nicht geklappt.. Was mach ich falsch und wie mach ichs besser? Bin ein Anfänger ;)

Error ist:
Traceback (most recent call last):
File "./stat.py", line 23, in ?
put()
File "./stat.py", line 16, in put
cursor.execute ("""
File "/usr/lib/python2.4/site-packages/MySQLdb/cursors.py", line 163, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.4/site-packages/MySQLdb/connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[1], sys.argv[2], sys.argv[3]))' at line 3")

Mfg,
Pep

Re: Mysql Datenimport mit Startparametern

Verfasst: Freitag 2. Mai 2008, 20:07
von Trundle
DaPepsi hat geschrieben:Was mach ich falsch und wie mach ichs besser?
Du benutzt keine parametrisierten SQL-Queries. Besser machst du es, wenn du dir [wiki]Parametrisierte SQL-Queries[/wiki] durchliest und anwendest.

Verfasst: Samstag 3. Mai 2008, 09:05
von BlackJack
@DaPepsi: Ich denke durch das Syntaxhighlighting sieht man ganz gut, was Du das versuchst der Datenbank als SQL an zu drehen. Es sollte eigentlich klar sein warum die das nicht mag.

Verfasst: Samstag 3. Mai 2008, 22:03
von DaPepsi
Danke euch für die Hilfe ;)
War echt ganz schön blöd!

Mfg,
Pep