17. juni 2001 - 21:49
Der er
12 kommentarer og 1 løsning
IP adresse i MySQL
Jeg skal gemme en IP adresse i en mysql tabel, men når jeg gemmer den, bliver format kun på 4-8 tal... Er der nogen der ved hvilken \"type\" man skal gemme IP adresse i, i en Mysql tabel?? Pluth
Annonceindlæg fra Infor
du kan gemme den som TEXT....
Jeg plejer at bruge varchar (15).
Du skal gemme den i et int(11) felt, på denne måde: INSERT INTO tbl (ip) valeus(ATON_INET(\'127.0.0.1\'));
Der er ingen af dem der bliver til en Ip adresse... Er det mit script??? <? mysql_connect($mysql_server_navn,$mysql_server_bruger,$mysql_server_kode); mysql_select_db($mysql_database_navn); $temp=uniqid(rand()); if ($knap) { $stoerrelse = sizeof($ting); for ($i = 0; $i < $stoerrelse; $i++) { mysql_query(\"insert into kobvarer (produkt, ip) values (\'$ting[$i]\',\'$temp\')\"); } setCookie(\"produkt\", \"$temp\"); } ?> Pluth
du skal jo finde din ip... $ip = $REMOTE_ADDR;
Det var selvfølgelig denne i skulle have haft!! <? mysql_connect($mysql_server_navn,$mysql_server_bruger,$mysql_server_kode); mysql_select_db($mysql_database_navn); $ip = $REMOTE_ADDR; $temp=uniqid(rand()); if ($knap) { $stoerrelse = sizeof($ting); for ($i = 0; $i < $stoerrelse; $i++) { mysql_query(\"insert into kobvarer (produkt, ip) values (\'$ting[$i]\',\'$ip\')\"); } setCookie(\"produkt\", \"$temp\"); } ?>
Hvad sker der? Får du en fejlmeddelelse? Hvad giver SELECT ip FROM kobvarer?
Så fik jeg den til at virke med text, og derfor får htx98i17 pointne... Tak Pluth
17. juni 2001 - 22:14
#10
IP-adresse til int: <?php function strtoint($str) { $ip = 0; $tetr = explode(\".\", $str); for ($i = 0; $i < 4; $i++) { $ip = $ip << 8; $ip += $tetr[$i]; }; return $ip; } ?> Int til IP-adresse: <?php function inttostr($ip) { $str = \"\"; for ($i = 0; $i < 4; $i++) { if ($i) $str = \".\" . $str; $str = ($ip & 0x000000FF) . $str; $ip = $ip >> 8; }; return $str; }; ?>
17. juni 2001 - 23:30
#11
Jeg må altså holde fast i at ATON_INET er den rigtige måde. Prøv at søge i mysql manualen, så står det også der.
18. juni 2001 - 12:28
#12
chris2k > Hvor ser du ATON_INET? Jeg kan ikke finde den funktion.
18. juni 2001 - 12:29
#13
Du har vist byttet lidt om. Her er de: INET_NTOA(expr) Returns the network address (4 or 8 byte) for the numeric expression: mysql> select INET_NTOA(3520061480); -> \"209.207.224.40\" INET_ATON(expr) mysql> select INET_ATON(\"209.207.224.40\"); -> 3520061480
Computerworld tilbyder specialiserede kurser i database-management