Hallo,
ich bin auf folgendes Problem gestoßen und finde nicht die Lösung.
In einer Datenbank-Tabelle befindet sich eine Spalte mit dem Datentyp Blob. Dort habe ich zum Beispiel kleine Bilder (Logos) gespeichert. Diese können die Bildformate jpg, gif usw. enthalten.
Nun zu meinem Problem:
Ich habe eine Klasse für die Sicherung von Datenbanktabellen entwickelt, die alle Tabellen ausliest und anschließend ein SQLDump erstellt. Solange ich keine Tabellen mit binären Blob-Feldern auslese, ist das einlesen des Dump in eine MySQL-Datenbank kein Problem.
Enthält mein SQL-Dump Tabellen jedoch Blob-Felder (Bildinhalten), bekomme ich zum Beispiel folgenden Inhalt für eine solche Spalte:
Das einlesen mit solchen Werten mittels meines SQLDump schlägt dann an dieser Stelle fehl.
Ich habe mir dann mal angschaut, wie ein solcher Inhalt beim Erstellen eines SQLDump in PHPMyAdmin aussieht:
Ich vermute mal, das hier die binären Daten mit Hilfe von pack() in einen anderen binären String umgewandelt wird. Einige Versuche meinerseits damit schlugen leider fehl.
Ist die Funktion pack() wirklich die richtige Funktion? Wenn ja, welchen ersten Parameter muß ich übergeben? Wie sähe der Aufruf dieser Funktion aus, wenn mein Blob-Feld sich in einem Array befindet?
Danke für eure Hilfe.
Gruß Merlin der Zauberer
ich bin auf folgendes Problem gestoßen und finde nicht die Lösung.
In einer Datenbank-Tabelle befindet sich eine Spalte mit dem Datentyp Blob. Dort habe ich zum Beispiel kleine Bilder (Logos) gespeichert. Diese können die Bildformate jpg, gif usw. enthalten.
Nun zu meinem Problem:
Ich habe eine Klasse für die Sicherung von Datenbanktabellen entwickelt, die alle Tabellen ausliest und anschließend ein SQLDump erstellt. Solange ich keine Tabellen mit binären Blob-Feldern auslese, ist das einlesen des Dump in eine MySQL-Datenbank kein Problem.
Enthält mein SQL-Dump Tabellen jedoch Blob-Felder (Bildinhalten), bekomme ich zum Beispiel folgenden Inhalt für eine solche Spalte:
Code:
GIF89a6 2 ÷å©A4ÀÇqdÒd...........
Ich habe mir dann mal angschaut, wie ein solcher Inhalt beim Erstellen eines SQLDump in PHPMyAdmin aussieht:
Code:
0x47494638396134002700f70000000000.......
Ist die Funktion pack() wirklich die richtige Funktion? Wenn ja, welchen ersten Parameter muß ich übergeben? Wie sähe der Aufruf dieser Funktion aus, wenn mein Blob-Feld sich in einem Array befindet?
Danke für eure Hilfe.
Gruß Merlin der Zauberer
Kommentar