我得到了一个查询代码,我从数据库中获取了所有数据,这是我数据库中的一个int,然后使用时获取了所有数据,然后声明了一个总变量,该变量将显示总价值。对于前。我的数据库中有5和2,所以输出应该是7,但是输出是52,它是作为文本而不是int添加的。
<?php
$st='SELECT rating FROM rating;';
$t=mysqli_stmt_init($conn);
mysqli_stmt_prepare($t,$st);
mysqli_stmt_execute($t);
$res=mysqli_stmt_get_result($t);
while($rop=mysqli_fetch_assoc($res)){
$total=0;
$total+=$rop['rating'];
echo $total;
}
答案 0 :(得分:1)
您可以直接使用MySQL的SUM()函数:
SELECT sum(rating) as total from rating
此查询将直接为您提供所有列值的总和。
因此,最终代码应为:
$st='SELECT sum(rating) as total from rating';
$t=mysqli_stmt_init($conn);
mysqli_stmt_prepare($t,$st);
mysqli_stmt_execute($t);
$res=mysqli_stmt_get_result($t);
$total=0;
while($rop=mysqli_fetch_assoc($res)){
$total = $rop['total'];
}
echo $total;
答案 1 :(得分:1)
从
更改查询$st='SELECT rating FROM rating;';
到
$st='SELECT sum(rating) as total_sum FROM rating;';
也要更改
while($rop=mysqli_fetch_assoc($res)){
$total=0;
$total+=$rop['rating'];
echo $total;
}
到
$total = mysqli_fetch_assoc($res)['total_sum'];
echo $total;