이 글에서는 IP 주소 데이터를 데이터베이스에 저장하기 위해 적절한 형식을 사용하는 방법과 IP 주소를 쉽게 비교하는 방법을 소개합니다.
IP 주소를 데이터베이스에 저장합니다. 필드는 일반적으로 다음과 같이 정의됩니다. IP 주소의 최대 길이는 255.255.255.255입니다. 15이면 15비트 문자를 사용하면 충분합니다.
테이블 사용자 만들기
`ip` char(15) NOT NULL,
여러 데이터 조각 삽입
CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT NULL, `ip` char(15) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
2.mysql inet_aton 및 inet_ntoa 메서드
inet_aton
IP 변환 부호 없는 정수(4-8비트)로inet_ntoa 정수 IP를 전자 주소로 변환
데이터를 삽입하기 전에 먼저 inet_aton
데이터를 표시할 때 inet_ntoa를 사용하여 정수 IP 주소를 전기 주소로 변환하여 표시하세요.
예:
INSERT INTO `user` (`id`, `name`, `ip`) VALUES(2, 'Abby', '192.168.1.1'),
(3, 'Daisy', '172.16.11.66'),
(4, 'Christine', '220.117.131.12');
여러 데이터 조각 삽입
CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `ip` int(10) unsigned NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB;
INSERT INTO `user` (`id`, `name`, `ip`) VALUES(2, 'Abby', inet_aton('192.168.1.1')),
(3, 'Daisy', inet_aton('172.16.11.66')),
(4, 'Christine', inet_aton('220.117.131.12'));
쿼리는 이메일 주소를 보여줍니다
mysql> select * from `user`;
+----+-----------+------------+| id | name | ip |
+----+-----------+------------+| 2 | Abby | 3232235777 |
| 3 | Daisy | 2886732610 || 4 | Christine | 3698688780 |
+----+-----------+------------+
3. method
mysql> select id,name,inet_ntoa(ip) as ip from `user`;
+----+-----------+----------------+| id | name | ip |
+----+-----------+----------------+| 2 | Abby | 192.168.1.1 |
| 3 | Daisy | 172.16.11.66 || 4 | Christine | 220.117.131.12 |
+----+-----------+----------------+
Query:
6f0ae2a3f34ecd991e57660263d12ee5
참고: ip2long 메소드를 사용하여 IP 주소를 정수로 변환하면 큰 IP의 경우 음수가 표시됩니다. 이유 및 처리 방법은 내 다른 것을 참조하십시오. 기사: "php ip2long에서 음수가 발생하는 이유와 해결책》
4. 요약
이 글에서는 mysql을 통해 IP 주소 데이터를 처리하기 위해 inet_aton과 inet_ntoa를 사용하는 방법에 대해 설명합니다.
관련 권장 사항:
http_build_query,parse_url,parse_str을 사용하여 php를 통해 URL을 생성하고 구문 분석하는 방법
위 내용은 mysql을 통해 IP 주소 데이터를 처리하기 위해 inet_aton 및 inet_ntoa를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!