Php MySQL int未正确保存到数据库中

Php MySQL int未正确保存到数据库中,php,mysql,mysqli,Php,Mysql,Mysqli,以下是将数据发送到数据库的代码: $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->ta

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

$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);
以下是用户5的数据库中反映的内容


是什么导致DB更改facebook ID的号码?我最初认为它可能与INT字段的长度有关,但我已将其设置为30,并确保编码设置正确。在这一点上有点困惑?

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


请参考

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


请参考

像这样将int更改为bigint

ALTER TABLE `facebook` MODIFY COLUMN `facebook_id`  bigint NOT NULL;

像这样将int更改为bigint

ALTER TABLE `facebook` MODIFY COLUMN `facebook_id`  bigint NOT NULL;

int(30)没有意义。。你需要使用bigint@Xenology提供您的表结构。您的可能重复项超过了facebook_id字段整数值的限制。使用bigint或将其另存为(n)varchar字符串。如果您试图在int type列中插入字符串,请尝试在id列“.$ARTISTER\U object->id”中不使用单引号,则int(30)没有意义。。你需要使用bigint@Xenology提供您的表结构。您的可能重复项超过了facebook_id字段整数值的限制。使用bigint或将其另存为(n)varchar字符串。如果您试图在int-type列中插入字符串,请尝试在id列中不使用单引号“.$artist_object->id.”,在这里奖励分数,我不知道MySQL中的整数大小有限制,但现在这是有意义的。感谢您提供的资源。在这里给我打分,我不知道MySQL中的整数大小有限制,但现在它有了意义。感谢您提供的资源。
ALTER TABLE `facebook` MODIFY COLUMN `facebook_id`  bigint NOT NULL;