勉強したことのメモ

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

  関連記事

PHPの条件式でまとめて評価

PHPのソースで、 if( !($hoge || $fuga || $foo) ...

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

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

PHPでの$_REQUESTは色々危険

extract($_REQUEST)はかなり怖いよ、という話が最近あった。 でき ...

権限が無い場合のエラー

SQLでINSERTする際、見たことに無いエラーに遭遇した。 INSERT co ...

PHPとSQLiteでi-mobileのデータをグラフ化

i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...

PHPで改行を含むデータをCSV化

PHPで改行を含むデータをCSV化した場合、そのCSVファイルをエクセル等で開く ...

smart_resize_imageで縦横の比率関係なく、固定リサイズ

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...

PHPで画像のフォーマット(拡張子)の変換

画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...

PHPでURLを解析してクエリを抽出する方法

formからGETでURLの文字列を送信したものを、受信した側でクエリ部分のみ抽 ...

adminerでMySQLに接続しようとするとエラー

新しく構築したサーバにadminerを入れて接続しようとすると、「mysqlnd ...