AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

binärdatei in datenbank speichern

Ein Thema von gekmihesg · begonnen am 4. Nov 2004 · letzter Beitrag vom 5. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2   
gekmihesg
(Gast)

n/a Beiträge
 
#1

binärdatei in datenbank speichern

  Alt 4. Nov 2004, 21:02
hallo. ich möchte eine binärdatei in einer mysql-datenbank speichern.
die datei soll in ein blob feld.
das problem ist aber das in meiner anfrage syntaxfehler auftreten wenn diese binärdatei ein ' enthält.
hier die anfrage:

'INSERT INTO dateien(`name`,`datei`) VALUES(''' + filename + ''',''' + datei + ''')' wenn dann datei z.b. #+&§=NV203'qcvc8qnv6 ist gibts nen syntax-error.
wie kann ich diesen fehler vermeiden?
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#2

Re: binärdatei in datenbank speichern

  Alt 4. Nov 2004, 22:13
Hallo,

normalerweise gibt es extra Funktionen um BLOBs in eine DB zu bekommen, aber MySQL scheint das nicht zu geben... und sowas nennt sich Datenbank. Auf der Manual Seite wird von einem User vorgeschlagen die Daten base64 codieren (base64_encode/base64_decode) - auch wenn das BLOBs eigentlich ad ab surdum führt ist das wohl z.Zt. die einzige Möglichkeit.
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#3

Re: binärdatei in datenbank speichern

  Alt 4. Nov 2004, 22:49
das ist keine fehlende MySQL-Funktion sondern die funktion muß in der Programmiersprache existieren. Die MySQL-Api stellt sie nämlich zur verfügung. Unter PHP verwendet man am besten addslashes(); es wird sicher irgendwo eine Delphi-Überstzung geben
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: Dietersheim b. München
6.536 Beiträge
 
#4

Re: binärdatei in datenbank speichern

  Alt 4. Nov 2004, 22:49
Hi Markus,

es ist eigentlich eine endlose Sache. Du kannst das Query so 'INSERT INTO dateien(`name`,`datei`) VALUES(''' + filename + ''',''' + datei + ''')' oder so 'INSERT INTO dateien(`name`,`datei`) VALUES("' + filename + '","' + datei + '")' hinzufügen.
Im ersten Fall musst du jedes ' durch \' ersetzen, im zweiten Fall jedes " mit \". Dazu kannst du z.B. Delphi-Referenz durchsuchenStringReplace verwenden.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
gekmihesg
(Gast)

n/a Beiträge
 
#5

Re: binärdatei in datenbank speichern

  Alt 5. Nov 2004, 11:56
ja auf die lösung war ich auch schon gekommen aber ich dachte das das so umständlich is das es da doch eigendlich was anderes geben muss... (ich hätte halt aucch gran gehabt das ich die datei dann genau so wie sie is in der datenbank hab ohne dran rum zu ändern)

dann mach ichs halt jetzt mal so...


edit:
habs grad probiert und es hilft leider nix. der findet dann einfach wo anders nen fehler wo zwar kein solches zeichen vorkommt aber trotzdem irdgendwas nicht passt.
  Mit Zitat antworten Zitat
clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#6

Re: binärdatei in datenbank speichern

  Alt 5. Nov 2004, 12:06
Wie sprichst du die Datenbank an? ADO, DAO, Direct MySQL, ODBC, OLEDB, ....?

In ADO nennt sich das ADODB.Stream. Bei den andere weis ich das leider nicht.
Über einen SQL String kannst du keine BinärDaten speichern. Da diese Daten umgewandelt werden in ZB String. Also zusätzliche Funktionen nutzen.
  Mit Zitat antworten Zitat
gekmihesg
(Gast)

n/a Beiträge
 
#7

Re: binärdatei in datenbank speichern

  Alt 5. Nov 2004, 12:11
steht oben mysql

ich mach das ganze übrigens in php. ich hab mir nur gedacht da das hier ja eigendlich ein delphiforum is kann ich das query ja mal im delphi style posten
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#8

Re: binärdatei in datenbank speichern

  Alt 5. Nov 2004, 13:10
Schau Dir mal das hier an: mysql_real _escape_string

Gruß, teebee
  Mit Zitat antworten Zitat
clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#9

Re: binärdatei in datenbank speichern

  Alt 5. Nov 2004, 13:23
MySQL ist die Datenbank, und nicht die Schnittstelle die du nutzt um MySQL abzufragen. Die Schnittstelle die du nutzt ist also PHP? Dann bist du hier im falschem Forum. Sorry.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: Dietersheim b. München
6.536 Beiträge
 
#10

Re: binärdatei in datenbank speichern

  Alt 5. Nov 2004, 13:25
Hi Markus,

poste mal wie du das Query in php zuweist. Und das gehört jetzt wohl eher nach Programmieren Allgemein.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf