Export en Import van een BLOB veld

Een BLOB (Binary Large Object) is een - potentieel groot - gegevenselement in een database dat bestaat uit bytes waaraan in de database geen tekencodering of andere interpretatie is verbonden.

Bron : BLOB (informatica) - Wikipedia

Naar mijn mening kan men beter het filesysteem gebruiken, een database vol bestanden kan nog wel eens erg groot worden wat uiteindelijk ten kosten gaat van de performance.


Export

De binaire data wijzigen we naar een hexadecimale representatie :

$sql_query = "SELECT * FROM tabel1 WHERE id = 1";
$sql_result = mysql_query($sql_query);
$row = mysql_fetch_assoc($sql_result);
$data = '0x' . bin2hex($row['data']);

Door de toevoeging van 0x aan het begin van de string wordt deze gezien als hexadecimaal en niet als decimaal.


Import
$sql_query = "INSERT into tabel2 (data) VALUES (".$data.")";
mysql_query($sql_query) or die(mysql_error());

Zie ook : #1153 - Got a packet bigger than 'max_allowed_packet' bytes

Meer informatie : PHP: bin2hex - Manual