【发布时间】:2016-03-17 20:02:39
【问题描述】:
这看起来应该很简单,但我不断得到意想不到的输出。我正在尝试访问 SQL 数据库中的指定行,每个行都包含一个数值,然后计算这些值的总和。即使在我将值的数据类型设置为浮点数之后,PHP 仍将值连接起来,就好像它们是字符串一样。我的代码:
$query = "SELECT * FROM populations WHERE username ='{$_SESSION[name]}' AND region_name = 'region'"
$query .= "AND city_name = 'city'";
$result = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($result)) {
$population_value = $row['population_value'];
$population_value = is_array($population_value) ? $population_value : array($population_value);
foreach($population_value as $value){
echo $value;
}
echo array_sum($population_value);
}
我也试过了:
$total = array("");
foreach($population_value as $value){
floatval($value);
array_push($total, $value);
echo $value;
}
echo array_sum($total);
我的输出总是类似于:100002000030000 10,000 20,000 和 30,000 是每个总体的值。
我已经使用foreach 成功计算了总和,其中的值不是从 MySQL 中检索到的。
这是怎么回事?
【问题讨论】:
-
您好,我的用户名是
'; drop table populations; --。 -
是的,我还需要实现
mysqli_real_escape_string
标签: php mysql sql arrays foreach