php - 如何使用 PDO 在 MySQL 中存储 BIGINT?

标签 php mysql facebook pdo

我知道这个问题在这里被问过不止一次,但我找不到解决方案。

我们正在使用一个数据库,我们将 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 的解决方法。

最佳答案

We are using a database where we are storing the facebook id as a BIGINT(20).

为什么哦,你为什么要那样做?

我认为普遍的共识是 Facebook id 不应保存为数字类型,而应保存为字符串。将它们保存为数字不会产生任何优势 - 但会产生一些缺点。

关于php - 如何使用 PDO 在 MySQL 中存储 BIGINT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11938384/

相关文章:

mysql - mysql 命令中 < 的替代方案

ios - Facebook iOS SDK 3.2在没有FBWebDialogResult的情况下发布

android - Facebook for Android 3.0 维护 session

php - 自定义密码编码器 symfony 5

php - StudentRegister.php 脚本在本地服务器中有效,但在托管服务器中无效

php - 如何在 PHP 中使用此字符串中的动态整数定界符拆分字符串?

php - 如何使用 Codeigniter 将 iframe 更新或插入数据库?

关于sum()和tax的sql问题(MySQL 5.0.89)

css - 通过CSS将网站缩略图添加到Facebook(og :image)

PHP:如果行已存在,则不创建行