Я знаю, что этот вопрос задавали здесь несколько раз, но я не мог найти решение.
Мы используем базу данных, в которой мы сохраняем идентификатор facebook как 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;
Но механизм PDO PHP может вставить только максимальное целочисленное значение PHP, то есть 2147483647.
$stmt->bindParam(':fb_id', $this->fb_id, PDO::PARAM_INT);
Это, я понимаю, совершенно очевидно, так как мы ограничены максимальным значением integer в PHP. Я попытался использовать строку –
$stmt->bindParam(':fb_id', $this->fb_id, PDO::PARAM_STR);
но все же это не сработает.
Я хочу знать, может ли быть обходное решение, чтобы сохранить его как bigint.
Мы используем базу данных, в которой мы сохраняем идентификатор facebook как BIGINT (20).
Почему ты так делаешь?
Я считаю, что общий консенсус в том, что идентификаторы Facebook не должны сохраняться как числовые типы, а как строки вместо этого. Сохранение их как нечто числовое не приносит никаких преимуществ, но несколько недостатков.