我知道这个问题不止一次在这里被问过,但我找不到解决办法。
我们正在使用一个数据库,我们将facebook id存储为BIGINT(20)。
create table users(
fb_id bigint(20) NOT NULL,
user_name varchar(30) NOT NULL,
CONSTRAINT uk_name unique (user_name),
CONSTRAINT pk_fb_id primary key (fb_id)
)ENGINE=INNODB;
但PHP的PDO引擎只能插入PHP的最大整数值,即2147483647。
$stmt->bindParam(':fb_id', $this->fb_id, PDO::PARAM_INT);
我明白这很明显,因为我们受到PHP中整数的最大值的限制。我试着用字符串 -
$stmt->bindParam(':fb_id', $this->fb_id, PDO::PARAM_STR);
但仍然不起作用。
我想知道是否有解决方法可以将其存储为bigint。
答案 0 :(得分:5)
我们正在使用一个数据库,我们将facebook id存储为BIGINT(20)。
为什么你为什么这样做?
我认为普遍的共识是Facebook ID不应该保存为数字类型,而应该保存为字符串。将它们保存为数字并不会产生任何好处 - 但有几个缺点。