以下是将数据发送到DB的代码:
$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,并确保编码设置正确。有点难过这个?
答案 0 :(得分:3)
您的价值超出了INT的限制。 INT(30)是不可能的。
请参阅MySql Page
答案 1 :(得分:2)
将int更改为bigint。
ALTER TABLE `facebook` MODIFY COLUMN `facebook_id` bigint NOT NULL;