2017-03-05 2 views
0

Ich "geerbt" von einem Kollegen eine MySQL-Datenbank mit Dutzenden von Feldern. Da ich sehr wenige Male mit Datenbanken gearbeitet habe, suche ich hier einen kleinen Ratschlag.Konvertieren von binären (16) Daten in MySQL-Feld

Es gibt ein binary(16) Feld namens "IP": Ich nehme an, es wird verwendet, um Benutzer-IPs zu speichern. Ein typischer gespeicherter Wert ist beispielsweise 00000000000000000000ffff3d024463.

Mit PHP (oder auch MySQL, wenn dies möglich ist), wie kann ich diese Daten in eine einfache IP-Adresse konvertieren?

Antwort

0

Gelöst: Ich musste diese Zahl mit einer MySQL-Funktion (INET6_NTOA) konvertieren.

0

haben Sie

$data = hex2bin($ip); 
var_dump($data); 
//not sure how your data was put into the column IP 

auf Ihre SQL-Abfrage Sie versucht auch

$query = mysql_query("SELECT `HEX(IP)` FROM `database`"); 
$row = mysql_fetch_array($query); 
foreach($row['ip'] as $ip) 
{ 
    $data = hex2bin($ip); 
    echo $data."<br />"; 
} 

// Code nicht getestet

SQL Query with binary data (PHP and MySQL)

http://php.net/manual/en/function.hex2bin.php

012 versuchen kann

http://php.net/manual/en/function.bin2hex.php

+0

Die hex2bin gibt bool (false) zurück –

+0

Hilft diese Seite überhaupt? Ich würde ehrlich die Spalte von binär zu varchar ändern und IP-Adresse als Zeichenkette speichern. http://stackoverflow.com/questions/6382738/convert-string-to-binary-then-back-again-using-php – DarkSideKillaz

+0

Versuchen Sie 'bin2hex();' – DarkSideKillaz

Verwandte Themen