Thread Hexadezimale Werte mit DBI und Prepare in MySQL-Datenbank speichern (4 answers)
Opened by Pascal at 2010-10-25 15:14

WebComPas
 2010-10-25 16:35
#142172 #142172
User since
2010-10-25
2 Artikel
BenutzerIn
[default_avatar]
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

View full thread Hexadezimale Werte mit DBI und Prepare in MySQL-Datenbank speichern