2011-02-16 27 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()功能从数字转换为文本