knittl était plus proche, au lieu de binaire (16) utilisent varbinary (16) user196009 answered. Ça marche pour moi. Comment?
IP Stockage:
<?php
$query = "insert into stats(vis_ip, id_stat) values('" . inet_pton('66.102.7.104') . "', '1')"; // google's IP address
// using a PDO wrapper. http://www.phpclasses.org/package/5206-PHP-Execute-database-queries-from-parameters-using-PDO.html
include_once 'db.php';
$c = new DB();
$visit = $c->getResults($query); // stored as binary
?>
Récupération IP:
<?php
$query = "SELECT `vis_ip` FROM `stats` WHERE `id_stat`=1";
// PDO wrapper
include_once 'db.php';
$c = new DB();
$stats = $c->getRow($query);
echo inet_ntop($stats->vis_ip); // outputs 66.102.7.104
?>
Il devrait fonctionner avec des adresses IPv6 (j'ai une connexion IPv4). Je ne suis pas un expert donc je ne sais pas encore si la longueur varbinary est correcte, mais comment je l'ai dit, ça marche pour moi.
Afin de vérifier si 'IPv6' est activé dans votre version PHP/hôte:
<?php
phpinfo(INFO_GENERAL); // http://php.net/manual/es/function.phpinfo.php
?>
Vérifiez cette question: http://stackoverflow.com/questions/1120371/how-to-convert-ipv6-from-binary-for-storage-in-mysql –