Alright, so I've been toying around with the Steam Web API, I have one of the values stored in a variable called $steam64
. When I use this code snipper to INSERT it into a mysql database it insert a completley different integer than what is stored in the variable.
$sql_query = "INSERT INTO users_info (steam64) VALUES ('$steam64')";
var_dump($steam64);
returns the real int, so does echoing it. Not too sure what is going on here, any help is appreciated.
2147483647 is the largest int value for mysql. Just change the type from int to bigint.
The integer type INT is 4Bytes storage, you get from
-2^(4*8-1)=-2147483648
to2^(4*8-1)-1=2147483647
, when you have "signed" flags, if you change the flags to unsigned you will have a range from0
to2^(4*8)-1
. MySQL support BIGINT being 8Bytes storage. If you try save a value greater, you will save the max value of the rangeThe largest value for data type INT is 2147483647. If the number you're inserting is bigger than 2147483647, then it will cause the problem. For solution, change the data type from INT to BIGINT as BIGINT has a maximum value of 9223372036854775807, it might solve your problem. Have a look at this site: https://dev.mysql.com/doc/refman/5.7/en/integer-types.html