Problemas al almacenar una variable en MySQL con PHP

Manera como se recibe y almacena la variable
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO contratista (nombre_contratista, cedula_contratista, codigo_contrato, dreccion_contratista, telefono_contratista, nombre_contacto, telefono_contacto) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['nombre_contratista'], "text"),
                       GetSQLValueString($_POST['cedula_contratista'], "int"),
                       GetSQLValueString($_POST['codigo_contrato'], "text"),
                       GetSQLValueString($_POST['dreccion_contratista'], "text"),
                       GetSQLValueString($_POST['telefono_contratista'], "text"),
                       GetSQLValueString($_POST['nombre_contacto'], "text"),
                       GetSQLValueString($_POST['telefono_contacto'], "text"));
  mysql_select_db($database_fondomundial, $fondomundial);
  $Result1 = mysql_query($insertSQL, $fondomundial) or die(mysql_error());
  header("Location: lcontratista.php");
}
el campo con el problema es el siguiente
<input type="text" name="cedula_contratista" value="<?php echo $row_contratista['cedula_contratista']; ?>" maxlength="20" size="32">
Se presenta lo siguiente:
Si ingreso 1234567890 esto lo almacena sin problemas, pero si ingreso un dígito más el 12345678901 esto no lo almacena y me cabía el numero por 2147483647. Realice pruebas con el numero 2147483648 y no lo almacena y puse 2147483646 y si lo realiza. No se como cambiar esto. Gracias de antemano.
1

1 respuesta

Respuesta
1
Es un campo INTEGER, y ese es el limite de tamaño. Cambialo a campo DOUBLE
Buenas buenas, gracias por dar respuesta, ¿y si el numero es más grande que tipo de dato debe utilizar?
El que te comentaba, FLOAT o DOUBLE

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas