我有一个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命令进行一些奇怪的事情。
任何想法/解决方案?
提前致谢
答案 0 :(得分:3)
确定发现了问题,这与代码无关。 Twitter返回2个ID,其中一个最终有000个。 [id_str] => 15861323074113537和[id] => 15861323074114000
该死的推特API!
抱歉有问题:/
答案 1 :(得分:1)
PHP整数不能那么大。当使用不适合整数的数字时,它将转换为浮点数。您可能看到的是,即使浮点数也不够精确,不能包含那么多数字。按照webbiedave的建议并将其保留为字符串以避免舍入。