Thread Hexadezimale Werte mit DBI und Prepare in MySQL-Datenbank speichern
(4 answers)
Opened by Pascal at 2010-10-25 15:14
Ich konnte mein Problem nun mit einem etwas anderen Ansatz lösen. Dazu gebe ich beim Ausführen des MySQL-Statements den zu verwendenden binären Wert nicht als Hexdezimal-Wert, sondern als ASCII-String an:
Code (perl): (dl
)
1 2 3 4 5 6 7 my $ip_hex = 'fd010000000000000000000000000003'; my $ip_ascii = unpack("A16", pack("H32", $ip_hex)); my $sth = $dbh->prepare("INSERT INTO `accounting` (`IPv6_string`, `IPv6_binary`) VALUES (?, ?);"); my @values = ('fd01:0000:0000:0000:0000:0000:0000:0003', $ip_ascii); $sth->execute(@values); Somit kann der angegebene Wert nun korrekterweise als String interpretiert werden, so dass in der Datenbank dann trotzdem der korrekte Wert enthalten ist. Trotzdem danke für eure Hilfe! MfG Pascal |