私はIPv6アドレスをvarbinary
としてPHPの機能inet_pton($_SERVER['REMOTE_ADDR'])
で保存しています。私のようなSQLクエリを実行すると:MySQLでvarbinaryとして格納されているIPv6アドレスを読み取る方法は?
SELECT ip_address FROM some_table WHERE id='some_id';
私はそれがbinary
形式であるためのip_addressを読み取ることができません。
私は、対応するMySQL関数INET6_NTOA(expr)
がMySQL version 5.6にあり、それを読み込み可能な形式に戻すことに気付きました。残念ながら、私はその機能を持たないMySQLバージョン5.5を使用しています。
変換を行うためにPHPに戻らなければIPv6アドレスを読み取ることができる他の方法はありますか?私は簡単にバイナリ文字列の16進表記をWorkbenchのエディタで読み取ることができますが、これは簡単な方法で行うべきだと思いました。
同様の見出し:http://stackoverflow.com/questions/1873085/how-to-convert-from-varbinary-to-char-varchar-in-mysql – diEcho
他を見る:http://stackoverflow.com/questions/973923/mysql-varbinary-vs-varcharおよびhttp://stackoverflow.com/questions/420680/how-to-store-ipv6-compatible-address-in-a-relational-database – diEcho
@diEcho、私は 'キャストとコンバートは動作しませんでした。有用なリンクのための –