SUM SQL值以增加每个会话的值

时间:2014-02-17 17:41:13

标签: php sql

这很尴尬,这是一个非常简单的提取值,等于另外一个然后保存...但是没有工作......

我有一个预定义的值1010,所以,我选择SQL中的最后一个条目,如果最后一个条目大于1010然后得到值并加1,然后保存它现在最后一个值将是1011正确?但不是......

$values_b = 1010;
$getval = 'SELECT number FROM table ORDER BY number DESC LIMIT 1';
$final = $con->query($getval);
$vals = $final ->fetch_array();
$numbers = $vals['number'];

if ($numbers > 1010){
$new_n = $numbers + 1;
$new_numbers = 'INSERT INTO table (number) VALUES ('$new_n')';
$con->query($new_numbers);
} else {
$new_numbers = 'INSERT INTO table (number) VALUES ('$values_b')';
$con->query($new_numbers);
}

非常简单,但结果有些尴尬,它不保存1010或1011或任何类型...而是保存2325,为什么是????我不在其他地方使用这个值,那些是唯一的变量,但我真的不明白,这是第一次发生这种情况,我的表是utf-8-general-ci,列是INT(20)我尝试VARCHART(100)但结果几乎相同......

我想要实现的是“简单”,我有一个每个定义的数字1010,所以,如果这是第一个记录保存该数字1010,如果没有,那么得到最后一个记录说1020这意味着有10条记录,只是总和1到最后一条记录1020 + 1 = 1021并保存...看,非常简单,但由于某种原因没有这样做...所以我想知道是否有人可以帮我解决这个问题...

感谢您抽出宝贵时间

<小时/> 的解决
这里的问题是查询,我正在调用一个名称不正确的列 这个表有大约19列,前5个是
ID |名称|电子邮件|数字.....列16是|号码|
我在呼叫号码时实际上我应该呼叫NUMBERS我得到的结果来自另一个文件,换句话说,我从B得到结果并且在我应该使用A时将B加1。 。
这完全是我的错,我应该多加注意......对不起伙计......

1 个答案:

答案 0 :(得分:1)

试试这个:

$values_b = 1010;
$getval = 'SELECT max(number) as bignumber FROM table';
$final = $con->query($getval);
$vals = $final ->fetch_array();
$numbers = $vals['bignumber'];

if ($numbers > 1010){
$new_n = $numbers + 1;
$new_numbers = 'INSERT INTO table (number) VALUES ('$new_n')';
} else {
$new_numbers = 'INSERT INTO table (number) VALUES ('$values_b')';
}
$con->query($new_numbers);