php, 数据库, 如何对返回值进行数学运算

$sql="SELECT COUNT(*) AS count FROM mark WHERE hID = '$hid'";
$result=mysql_fetch_array(mysql_query($sql));
$count=$result['count'];
$numOfScore =$count + 1;
我希望能先计算出表中一共有几条数据,然后将此值加1. 查询语句和$count都是对的,但是加1是错的啊....好像有个函数能实现这个功能?我实在找不到了。谢谢各位!

$sql="SELECT COUNT(*) AS count FROM mark WHERE hID = '$hid'";
$result = mysql_fetch_array(mysql_query($sql));
$count = $result['count'];
$count++;
$numOfScore = $count;

$count = mysql_result(mysql_query("SELECT COUNT(*) AS count FROM mark WHERE hID = $hid"),0);
$numOfScore = $count + 1;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-24
$result是个二维数组对吧?
$result['count']是个一维数组,理解吧?
那么你对一个数组+1.。。。你觉得会是什么结果?
下次遇到问题记得用echo或print_r()来看一下错在哪里;
$sql="SELECT COUNT(*) AS count FROM mark WHERE hID = '$hid'";
$result=mysql_num_rows(mysql_query($sql));//mysql_num_rows的用法就是统计一共有多少行
$result=$result+1;//$result可以运算。
尝试一下吧,看看是否可用。追问

我就用的echo 在检查,还是没检查到点上吧。。。不可用啊,还是错的。你的$sql那句有点错我已经改了哈,但是还是错的....求另外方法~~~~

追答

首先,我的$sql那句。。是直接,粘的你的,然后你把$sql用echo输出出来,直接导进数据库里运行,看看能不能出结果,如果能正确,那么echo或printf_r()一下$result,看看值是什么,我要知道具体错在哪,才能帮你改啊。

追问

1) $sql="SELECT COUNT(*) AS count FROM mark WHERE hID = '$hid'"; 出的结果是正确的值;

2)$result=mysql_num_rows(mysql_query($sql)); 如果用你这个方法echo出来,$result是1啊,所以我改成$sql="SELECT * AS count FROM mark WHERE hID = '$hid'";了,出来的结果也是正确的,是记录的行数。

然后$result=$result+1;或者$result++; 我都试过,echo出来就是随机值了...还是不能直接运算。

追答

你确定不是;是全角之类错误?我自己刚才查我自己的数据亲自试过了mysql_num_rows得到的值是可以运算的。
你看你 然后$result=$result+1;或者$result++; 这句话里是全角分号;你看看是不是这出错了。
解决了么?

追问

不好意思我昨天整天都是课太忙了没顾得上回你。$result是我在回复是手打的,所以全角,代码里不是的。然后我删了,确认半角后再输入了一遍,还是不行。今天还没时间看代码,等明天我继续调试后再联系你。既然你的可以运算,我的没理由不行嘛。谢谢,你真耐心...

本回答被网友采纳
第2个回答  2013-04-24
$numOfScore =$count + 1;
改成
$numOfScore =$result['count']+ 1;
看一下结果追问

不行,我之前试过了~~还是谢谢,还有其他方法不...

第3个回答  2013-04-24
根据你说的count是正确,那么加1应该也没有错啊!输出numOfScore是什么?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网