Seite 1 von 1

datei in ein mysql blob übergeben.

Verfasst: Freitag 28. Juli 2006, 16:57
von rogen
hallo

ich möchte eine datei in meine mysql datenbank übertragen.
leider bekomme ich immer wieder fehler wenn ein ' in der datei ist.

zippen funkioniert auch nicht.

wie kann man das lösen.

mfg

gerhard

Verfasst: Freitag 28. Juli 2006, 17:05
von DatenMetzgerX
wird das ' benötigt wenn ja

datei auslesen, auf denausgelsenen text

mystring.replace("'", '"')

Verfasst: Freitag 28. Juli 2006, 17:13
von rogen
ja , denn wenn ich ein bild in die datenbank spielen will
geht das nicht .

Re: datei in ein mysql blob übergeben.

Verfasst: Freitag 28. Juli 2006, 22:21
von BlackJack
rogen hat geschrieben:ich möchte eine datei in meine mysql datenbank übertragen.
leider bekomme ich immer wieder fehler wenn ein ' in der datei ist.

zippen funkioniert auch nicht.

wie kann man das lösen.
Das quoten dem Datenbankmodul überlassen, also den zweiten Parameter von der `cursor.execute()` Methode benutzen.

Verfasst: Samstag 29. Juli 2006, 09:31
von rogen
ich mache es so und es geht nicht

Code: Alles auswählen

cursor = self.conn.cursor()
a = "INSERT INTO anhang VALUES(0,'1','%s','%s')" % (name, anhang)
cursor.execute(a)
cursor.close()

Re: datei in ein mysql blob übergeben.

Verfasst: Samstag 29. Juli 2006, 09:38
von Leonidas
BlackJack hat geschrieben:Das quoten dem Datenbankmodul überlassen, also den zweiten Parameter von der `cursor.execute()` Methode benutzen.
Hallo BlackJack,

ich habe einen Vorschlag, da du oft der bist, der auf das Datenbank-Quoting hinweist: du könntest eine Seite im Wiki erstellen und darauf dann im Forum verlinken. Dann kann jeder der dies Problem mit der Datenbank hat, direkt nachlesen warum man das Quoting der Datenbank überlassen sollte und wie das geht.

Verfasst: Samstag 29. Juli 2006, 10:00
von BlackJack
rogen hat geschrieben:ich mache es so und es geht nicht

Code: Alles auswählen

cursor = self.conn.cursor()
a = "INSERT INTO anhang VALUES(0,'1','%s','%s')" % (name, anhang)
cursor.execute(a)
cursor.close()
Und machen solltest Du es so:

Code: Alles auswählen

cursor = self.conn.cursor()
a = "INSERT INTO anhang VALUES(0, '1', %s, %s)"
cursor.execute(a, (name, anhang))
cursor.close()
Jetzt ist das Datenbankmodul dafür verantwortlich die Daten entsprechend in die Anfrage hinein zu formatieren.

Verfasst: Samstag 29. Juli 2006, 13:12
von rogen
super danke

Re: datei in ein mysql blob übergeben.

Verfasst: Samstag 29. Juli 2006, 14:38
von BlackJack
Leonidas hat geschrieben:Hallo BlackJack,

ich habe einen Vorschlag, da du oft der bist, der auf das Datenbank-Quoting hinweist: du könntest eine Seite im Wiki erstellen und darauf dann im Forum verlinken. Dann kann jeder der dies Problem mit der Datenbank hat, direkt nachlesen warum man das Quoting der Datenbank überlassen sollte und wie das geht.
Im Prinzip gerne, aber so eine Seite gibt's schon, wie ich gerade festgestellt habe: [wiki]Parametrisierte SQL Queries[/wiki]

Jetzt muss ich nur noch daran denken, darauf zu verweisen, wenn das Thema wieder auf den Tisch kommt. :-)

Re: datei in ein mysql blob übergeben.

Verfasst: Samstag 29. Juli 2006, 16:12
von Leonidas
BlackJack hat geschrieben:Im Prinzip gerne, aber so eine Seite gibt's schon, wie ich gerade festgestellt habe: [wiki]Parametrisierte SQL Queries[/wiki]

Jetzt muss ich nur noch daran denken, darauf zu verweisen, wenn das Thema wieder auf den Tisch kommt. :-)
Huch, die Seite ist ja gut versteckt - aber jetzt weiß ichs und werde zukünftig auch darauf verweisen. Schön :)