PHP MySQLi无法更新特定BIGINTS

时间:2015-06-03 19:37:18

标签: php mysql mysqli

我更新超过50000行,其中BIGINT总是13 - 14个数字长。但有一些(很少,低于0.01%)的整数我不能用来更新字段。试试吧:

使用字段创建表格(artikel):

  • field(BIGINT),其值为4030521732735
  • stuff(text),其值为abc

然后尝试:

mysqli_query($con, "UPDATE artikel SET stuff = 'newabc' WHERE field = 4030521732735");

这个字段是不是也被你更新了?如果是的话,这个int会出现什么问题?任何想法如何解决这一问题?抱歉我的英文不好

更新

我尝试了这个,但它也没有用:

$bigint = gmp_init("4030521732735");
$bigint_string = gmp_strval($bigint);

mysqli_query($con, "UPDATE test SET stuff = 'newabc' WHERE field = $bigint_string");

$int = strval("4030521732735");

mysqli_query($con, "UPDATE test SET stuff = 'newabc' WHERE field = $int");

1 个答案:

答案 0 :(得分:0)

这个问题实际上与int或bigints或其他什么没有关系......相当长的讨论得出的结论是,在发送到DB之前没有正确地转义字符串(偶尔包含引号的字符串); - )