Mysql Datenimport mit Startparametern

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
DaPepsi
User
Beiträge: 2
Registriert: Freitag 2. Mai 2008, 15:37

Mysql Datenimport mit Startparametern

Beitragvon DaPepsi » Freitag 2. Mai 2008, 15:50

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
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Re: Mysql Datenimport mit Startparametern

Beitragvon Trundle » Freitag 2. Mai 2008, 20:07

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.
BlackJack

Beitragvon BlackJack » Samstag 3. Mai 2008, 09:05

@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.
DaPepsi
User
Beiträge: 2
Registriert: Freitag 2. Mai 2008, 15:37

Beitragvon DaPepsi » Samstag 3. Mai 2008, 22:03

Danke euch für die Hilfe ;)
War echt ganz schön blöd!

Mfg,
Pep

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder