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.
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
Categorieën
MySQL