我从表中选择一个整数值,然后尝试将其递增1,但结果是其他的。
TABLE
id index -> BIG INT(20)
---------- ----------
1 191000000000003
<?php
$sql='SELECT index from table where id='1'';
$q=$this->db->query($sql);
$r=$q->row->array();
$index= $r['index'];
$id=$index+1;
echo $id; // returns 1.91E+14
echo $index; // returns 191000000000003
$id=(int)$transfer_index+1;
var_dump($id); // returns (float) 2147483648
var_dump($transfer_index); // returns string
expected result: 191000000000004
?>
答案 0 :(得分:0)
试试这个:
$sql="SELECT (index + 1) as ind from table where id='1'";
$q=$this->db->query($sql);
$index=$q->row()->ind;
echo $index;
答案 1 :(得分:0)
计算机上的最大整数值小于存储在BIG_INT字段中的值。