BIGINT的PHP / MYSQL问题

时间:2010-12-17 23:50:39

标签: php mysql sql

我有一个mysql数据库和一个表来存储来自twitter API的东西。当我用twitter从PHP解析数据时,我使用mysql_query将数据插入表中。

我的推文ID有一个奇怪的问题:

例如,状态更新ID为15861323074113537(来自谷歌的推文)存储在数据库中:15861323074114000(最后4位数字被更改)。

php查询是:

$sql = mysql_query("INSERT INTO $table (id,tw_text) VALUES ($id,'$tw_text')");

如果我通过phpmyadmin编辑记录,则存储正确的值(15861323074113537)。该栏目是BIGINT。

所以我想用php函数mysql_query和INSERT命令进行一些奇怪的事情。

任何想法/解决方案?

提前致谢

2 个答案:

答案 0 :(得分:3)

确定发现了问题,这与代码无关。 Twitter返回2个ID,其中一个最终有000个。 [id_str] => 15861323074113537和[id] => 15861323074114000

该死的推特API!

抱歉有问题:/

答案 1 :(得分:1)

PHP整数不能那么大。当使用不适合整数的数字时,它将转换为浮点数。您可能看到的是,即使浮点数也不够精确,不能包含那么多数字。按照webbiedave的建议并将其保留为字符串以避免舍入。