这是将数据发送到数据库的代码:

$sql = "INSERT INTO facebook (`artist_id`, `facebook_id`, `likes`, `talking_about_count` , `facebook_username`)VALUES ('" . $artist_id . "','" . $artist_object->id . "','" . $artist_object->likes . "','" . $artist_object->talking_about_count . "','" . $artist_object->username . "')";

echo "Adding " .  $artist_object->username . " to Database";

echo '<br />' . $artist_object->id . '<br />';
var_dump($sql);


这是呼应页面的内容:

Adding tiesto to Database
12626353545
string(160) "INSERT INTO facebook (`artist_id`, `facebook_id`, `likes`, `talking_about_count` , `facebook_username`) VALUES ('5','12626353545','16868620','428952','tiesto')"


这是用户5的数据库中反映的内容

artist_id : 5
facebook_id : 2147483647
likes : 16868620
talking_about_count : 428952
facebook_username : tiesto


是什么导致数据库更改Facebook ID的编号?我最初以为它可能与INT字段的长度有关,但我将其设置为30,并确保正确设置了编码。金田难过了吗?

最佳答案

您的价值超出了INT的限制。 INT(30)是不可能的。

请参考MySql Page

关于php - MySQL int无法正确保存到数据库中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22525807/

10-13 07:28
查看更多