2011-02-16 46 views
0
​​

的mysql:通過PHP插入一個新的值到MySQL

CREATE TABLE ip_table (         
      id int(11) NOT NULL AUTO_INCREMENT,     
      ip_number int(11) DEFAULT NULL, 
      used int(11) DEFAULT NULL,         
      PRIMARY KEY (id) 
     ) 

實際上,IP是:56.78.123.90

但這些PHP代碼中插入:5678

我想插入ip爲56.78.123.90,我該怎麼辦?

+0

什麼是你的IP字段的字段類型? – 2011-02-16 14:16:27

回答

2

更改ip_number列的類型爲varchar(15) - 因爲您的IP地址是一個字符串 - 不是整數。

CREATE TABLE ip_table (         
     id int(11) NOT NULL AUTO_INCREMENT,     
     ip_number varchar(15) DEFAULT NULL, 
     used int(11) DEFAULT NULL,         
     PRIMARY KEY (id) 
    ) 
+0

謝謝。它的工作..問題解決.. – 2011-02-16 14:19:34

+0

爲什麼downvoted? – hsz 2011-02-16 14:19:37

+0

Downvote:IP地址**是**整數,而不是字符串。準確地說:IPv4 - 32位整數,IPv6 - 128位整數。 – Crozin 2011-02-16 14:19:56

1

ip_number必須是一個varchar(15),而不是一個整數;)

0
  1. 請記住,IPv4的(32位)將由IPv6的(128位被取代),從而使用INT類型(32位長)可能會在近端功能中導致一些問題。
  2. 使用INET_ATON()INET_NTOA()功能從數字轉換爲文本