Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problemas con INET_ATON / INET_NTOA

Estas en el tema de Problemas con INET_ATON / INET_NTOA en el foro de Mysql en Foros del Web. Hola gente. Tengo un problema muy tonto y no puedo solucionarlo. La hago corta como el problemin. Uso PHP y MySQL, pero el problema es ...
  #1 (permalink)  
Antiguo 03/10/2008, 12:02
Avatar de kopfnickend  
Fecha de Ingreso: febrero-2008
Ubicación: Bueno Aires (provincia)
Mensajes: 43
Antigüedad: 16 años, 2 meses
Puntos: 2
Pregunta Problemas con INET_ATON / INET_NTOA

Hola gente. Tengo un problema muy tonto y no puedo solucionarlo. La hago corta como el problemin.

Uso PHP y MySQL, pero el problema es del MySQL, (o mio que es lo mas probable).

Uso INET_ATON() para almacenar la ip en una tabla, el tema es que cuando la recupero, no es la misma ip. (obviamente la recupero con INET_NTOA() ). Para mi el problema es de la estructura de la tabla, en los tutoriales que leí por internet me dicen que tengo que crear un INT de 4 bytes, pero uso PhpMyAdmin y no veo una opcion que me permita determinar la cantidad de Bytes de un campo.

Si me dan una manito se los agradezco. Es un problema tonto, pero me esta llevando MUCHO!! mas tiempo del que pensé


Les agradesco.

Código:
CREATE TABLE `tblfirmas` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `id_archivos` int(11) unsigned NOT NULL,
  `id_cuenta` int(10) unsigned NOT NULL,
  `id_user` int(10) unsigned NOT NULL,
  `comentario` text NOT NULL,
  `fecha` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `privado` tinyint(1) NOT NULL default '0',
  `Ip` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `id_cuenta` (`id_cuenta`),
  KEY `id_user` (`id_user`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
Bueno el INSERT INTO lo tengo en php
Código PHP:
INSERT INTO `tblfirmas` (id_archivosid_cuentaid_usercomentarioIpprivadoVALUES ('".$post."','".$cuenta."','".$usuario."','".$texto."',INET_ATON('".$ip."'),'".$privado."'
  #2 (permalink)  
Antiguo 03/10/2008, 12:21
Avatar de kopfnickend  
Fecha de Ingreso: febrero-2008
Ubicación: Bueno Aires (provincia)
Mensajes: 43
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Problemas con INET_ATON / INET_NTOA

Problema solucionado: Hay una opcion que no habia visto, se llama BIGINT(20). Ahora funciona bien. De todas formas muchas gracias. Les dejo la estructura de la tabla por si le hace falta a alguien.

CREATE TABLE `tblfirmas` (
`id` int(11) unsigned NOT NULL auto_increment,
`id_archivos` int(11) unsigned NOT NULL,
`id_cuenta` int(10) unsigned NOT NULL,
`id_user` int(10) unsigned NOT NULL,
`comentario` text NOT NULL,
`fecha` timestamp NOT NULL default CURRENT_TIMESTAMP,
`privado` tinyint(1) NOT NULL default '0',
`Ip` bigint(20) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `id_cuenta` (`id_cuenta`),
KEY `id_user` (`id_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
  #3 (permalink)  
Antiguo 03/10/2008, 13:26
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Problemas con INET_ATON / INET_NTOA

Hola

Solo Recuerda usar la propiedad UNSIGNED

Cita:
Manual
NOTA: Cuando almacene valores generados por INET_ATON(), se recomiendoa que use una columna INT UNSIGNED. Si usa una columna INT (con signo), los valores correspondientes a direcciones IP para las que el primer octeto es mayor que 127 se truncan a 2147483647 (esto es, el valor retornado por INET_ATON('127.255.255.255')).
Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:45.