inet_aton と inet_ntoa を使用して mysql を通じて IP アドレス データを処理する方法
この記事では、適切な形式で IP アドレス データをデータベースに保存する方法と、IP アドレスを簡単に比較する方法を紹介します。
1. IP アドレスをデータベースに保存します。
IP アドレスをデータベースに保存します。フィールドは通常、次のように定義されます。 #
`ip` char(15) NOT NULL,
IP アドレス (255.255.255.255) の最大長は 15 であるため、15 ビットの文字を使用すれば十分です。
テーブル ユーザーの作成
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;
複数のデータを挿入
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');
2.mysql inet_atonと inet_ntoa メソッド
mysql は IP アドレスを処理する 2 つのメソッドを提供します
#inet_aton ip を符号なし整数型に変換します (4- 8 桁)
inet_ntoa 整数の IP を電気アドレスに変換します
データを挿入する前に、inet_aton## を使用します #IP アドレスを整数に変換しますchar(15) は 16 バイトを占有するため、スペースを節約します。 データを表示するときは、inet_ntoa
を使用して、整数の IP アドレスを表示用の電気アドレスに変換します。
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 |
+----+-----------+------------+
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 |
+----+-----------+----------------+
特定のネットワーク セグメント (例: 172.16.11.1 ~ 172.16.11.100) 内のユーザーを調べる必要がある場合は、PHP の
ip2long メソッドを使用して IP アドレスを整数に変換し、比較できます。 <?php$ip_start = '172.16.11.1';$ip_end = '172.16.11.100';echo 'ip2long(ip_start):'.sprintf('%u',ip2long($ip_start)); // 2886732545echo 'ip2long(ip_end):'.sprintf('%u',ip2long($ip_end)); // 2886732644?>
クエリ: mysql> select ip,name,inet_ntoa(ip) as ip from `user` where ip>=2886732545 and ip<=2886732644;
+------------+-------+---------------+| ip | name | ip |
+------------+-------+---------------+| 2886732610 | Daisy | 172.16.11.66 |
+------------+-------+---------------+
1. IP アドレスを unsigned int 形式でデータベースに保存します。挿入するときは、最初に inet_aton メソッドを使用して IP アドレスを符号なし整数に変換します。これにより、ストレージ領域を節約できます。
2. inet_ntoa を使用して、表示時に整数の IP アドレスを電気アドレスに変換します。 3.php ip2long から ip を整数に変換するときは、負の数が出現することに注意する必要があります。
この記事では、inet_aton と inet_ntoa を使用して mysql を通じて IP アドレス データを処理する方法について説明します。関連コンテンツの詳細については、PHP 中国語 Web サイトを参照してください。
関連する推奨事項:
php、parse_url で http_build_query を使用する方法、parse_str url を作成して解析します
以上がinet_aton と inet_ntoa を使用して mysql を通じて IP アドレス データを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

小さなアプリケーションを開発する際には、軽量データベース操作ライブラリをすばやく統合する必要性という厄介な問題に遭遇しました。複数のライブラリを試した後、私はそれらがあまりにも多くの機能を持っているか、あまり互換性がないかのどちらかであることがわかりました。最終的に、私は問題を完全に解決したYii2に基づいた単純化されたバージョンであるMinii/DBを見つけました。

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

Oracleはデータベース会社だけでなく、クラウドコンピューティングとERPシステムのリーダーでもあります。 1。Oracleは、データベースからクラウドサービスおよびERPシステムへの包括的なソリューションを提供します。 2。Oraclecloudは、AWSとAzureに挑戦し、IAAS、PAAS、SAASサービスを提供します。 3. e-businesssuiteやfusionApplicationsなどのOracleのERPシステムは、企業がオペレーションを最適化するのに役立ちます。

MySQLは、テーブル構造とSQLクエリを介して構造化されたデータを効率的に管理し、外部キーを介してテーブル間関係を実装します。 1.テーブルを作成するときにデータ形式と入力を定義します。 2。外部キーを使用して、テーブル間の関係を確立します。 3。インデックス作成とクエリの最適化により、パフォーマンスを改善します。 4.データベースを定期的にバックアップおよび監視して、データのセキュリティとパフォーマンスの最適化を確保します。

Theliaを使用してeコマースWebサイトを開発するとき、私はトリッキーな問題に遭遇しました:MySQLモードが適切に設定されていないため、いくつかの機能が適切に機能しません。いくつかの調査の後、TheliamysQlModescheckerというモジュールを見つけました。これは、Theliaが必要とするMySQLパターンを自動的に修正できるため、問題を完全に解決できます。
