Mysql儲存IP位址

2021-10-09 01:33:47 字數 731 閱讀 9124

使用mysql函式

create

table

`testip`

(`ip`

bigint(10

)null

)

insert

into testip (ip)

values

(inet_aton(

'255.255.255.255'

))

ip

4294967295

select inet_ntoa(ip) ip from testip
ip

255.255.255.255

使用php函式

$ip

='172.28.0.122'

;$iplong

=sprintf

('%u'

,ip2long

($ip))

;echo

$iplong

.php_eol

;//2887516282

echo

long2ip

($iplong);

直接使用ip2long()函式會出現轉換後為負數的情況(ip較大),使用%u來格式化為無符號整型。

鏈結mysql儲存ipv4的方式:

ip2long轉換後為負數:

mysql儲存ip位址 MySQL怎樣儲存IP位址

為什麼要問如何儲存ip 首先就來闡明一下部分人得反問 為什麼要問ip得怎樣存,直接varchar型別不就得了嗎?其實做任何程式設計都要在功能實現的基礎上最大限度的優化效能。而資料庫設計是程式設計中不可忽略的乙個重要部分,所以巧存ip位址可以一定程度獲得很大提公升。利用函式演算法處理 在mysql中沒...

IP位址在mysql的儲存

因為int比varchar 15 更高效,且php和mysql都有ip和int互轉的函式,所以在ip位址在mysql中用int儲存最優。mysql儲存這個值是字段需要用int unsigned。不用unsigned的話,128以上的ip段就儲存不了了。echo ip2long 192.168.1.3...

MySQL儲存IP位址的方法

為什麼要問如何儲存ip?首先就來闡明一下部分人得反問 為什麼要問ip得怎樣存,直接varchar型別不就得了嗎?其實做任何程式程式設計客棧設計都要在功能實現的基礎上最大限度的優化效能。而資料庫設計是程式設計中不可忽略的乙個重要部分,所以巧存ip位址可以一定程度獲得很大提公升。利用函式演算法處理 在m...