Tom: Bild in MySQL-Datenbank schreiben

Beitrag lesen

Hello,

Warum zum *%&@ laesst Du Dir die Fehlermeldung von MySQL nicht anzeigen?

{ print("Speichern fehlgeschlagen: " . mysql_error()); }

Und ist das Feld "bild" ueberhaupt geeignet, d.h. BLOB oder so?

Der Fehler kam... was heisst das?

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 '[binaerer Inhalt]' at line

Na, der Fehler kam bei den Bilddaten.
MySQL ist eine SQL-Datenbank. Die SQL-Schnittstelle ist eine TEXTSchnittstelle. Das heißt, man darf dort nur Texte übergeben. Allerdings gibt es Ausnahmeregeln. Wenn der Text nun Zeichen enthält, die in diese Ausnahmeregel fallen, dann muss man der Schnittstelle das sagen: Achrung, hier kommt ein Zeichen, dass Du ausnahmsweise auch als Text ansehen musst.

Diese Umwandlung macht man mit mysql[_real]_escape_string().

Die Funktion markeiert (escaped) die Sonderzeichen so, dass MySQL sie annehmen kann. In der DB steht dann nur der gewünschte "Text", der ja nun in Wirklichkeit ein Bild ist. Wenn man ihn wieder rausholt, sind nur die ursprünglichen Bild-Bytes enthalten. Die Maskierung wurde nicht mit abgespeichert.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen