勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

MySQLでIPを整数値としてカラムに格納する

   

MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必要な場合はvarcharとかで格納していたので、驚いた。MySQLでの格納及び出力方法とPHPでも同様の方法のメモ。

 

■MySQL

 

入力時はINET_ATON関数を、出力時は INET_NTOA関数を用いる。

・リファレンス

http://dev.mysql.com/doc/refman/5.6/ja/miscellaneous-functions.html#function_inet-aton

 

■PHP

 

入力時はip2long関数を、出力時はlong2ip関数を用いる。

・リファレンス

http://php.net/manual/ja/function.ip2long.php

http://php.net/manual/ja/function.long2ip.php

 

■その他

varcharやtext型よりもint型の方が色々と便利。特にIPを入れるということはログ系とかBBSの投稿だとかデータ量が多いデータベースになりがちなので、検索速度とか考えると今回の方法を使っていくべきだと思われる。

 - MySQL, PHP

  関連記事

images
PHPでdo-while(0)の利点

社内のソースで do { //処理内容 if ($test) { break; ...

msyql-image
MySQLiで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法

phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...

msyql-image
MySQLで歯抜けになっているint型の数値を取得する

MySQLで歯抜けになっているシーケンス番号を 取得したいケースがあった。 ■ソ ...

images
PHPの連想配列と正当性のチェック

ソースの解析中、こんな書き方があったのか、 と思ったのでメモ。 $List = ...

msyql-image
MySQLの値について

既存プログラムの解析をしてて知ったこと。 MySQLの構造で「int(11)」と ...

msyql-image
MySQLでJOINの高速化

JOINで無茶苦茶悩んだのでメモ。 やりたかった事は、MySQLで ・テーブルA ...

images
コマンドの実行履歴を確認する

SSH接続した際のコマンド実行履歴を確認したかった。 history で確認でき ...

images
PHPで複数の送信先に一括でメールを送る方法

PHPで複数の送信先に一括でメールを送信したかった。配列とかで指定するのかと思っ ...

images
エラー管理

<? /*エラー管理*/ //画面上にエラー表示させるかどうか。0⇒非表示 ...

images
PHPでのcookie

aaa.comにログインフォームがあって、IDパスを入れて ログインするとbbb ...