私はこの質問が複数回ここで尋ねられたことを知っていますが、私は解決策を見つけることができませんでした。PDOを使用してMySQLにBIGINTを保存するにはどうすればよいですか?
私たちは、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として保存するための回避策があるかどうかを知りたいと思います。
'PDO :: PARAM_INT'を使用していますが、本当に大きな数値の文字列に値を設定するとどうなりますか? '' 892347932075913 "' –
私が 'PDO :: PARAM_INT'を使用すると、'大きな文字列 'は' 2147483647'まで許されます。 – banskt
'大きな文字列 'としての値を持つ' PDO :: PARAM_STR'も機能しません。私はそれから分かりません。 –