Php 为什么数学被保存到MySQL数据库?

Php 为什么数学被保存到MySQL数据库?,php,mysql,database,Php,Mysql,Database,我有一个表,其中一列由公式填充: if ($row['importfee'] > 0) { $sum_total= $row['stock']*($row['cost']*($row['importfee']/100)+$row['cost']+$row['prepcost']); print ($sum_total); $total_price += $sum_total; }else{ $sum_total= $row['stock']*($row['cost']+$

我有一个表,其中一列由公式填充:

    if ($row['importfee'] > 0) {
$sum_total= $row['stock']*($row['cost']*($row['importfee']/100)+$row['cost']+$row['prepcost']);
print ($sum_total); 
$total_price += $sum_total;
    }else{
$sum_total= $row['stock']*($row['cost']+$row['prepcost']);
echo $sum_total; 
$total_price += $sum_total;
    }
例如,库存为400,成本为200,成本为0-产量为80000 此列显示为纯文本,而不是输入

接下来,我将$sum\u total发送到$u发布的隐藏输入:

<input name='totalcost[]' type='text' id='totalcost' value='<?php echo $sum_total ?>'>
我的数据库里有一个惊喜: 例如,数据库条目[总成本]80000*(200+)

我预计参赛作品的总成本为80000英镑

为什么公式被发送到数据库,但没有在我的表中回显?在没有数学运算的情况下,如何将80000值发送到数据库?如果有什么不同,我现在正在使用WAMP服务器。

作为答案添加(来自评论):

您的代码工作正常-以下是您在
[totalcost]
列中输入的内容:

totalcost='".$totalcost[$i]."*(".$cost[$i]."+".$prepcost[$i]‌​.");

所有这些都会进入该列。

echo$sql,您将看到为什么不进行这样的查询。这是一个巨大的安全漏洞。不知道您使用的是什么数据库处理程序,但请查找“准备好的查询”,并使用mysqli_u.或PDO。而且,您的代码工作正常-以下是您在
[totalcost]
列中输入的内容:
totalcost=”“$totalcost[$i]””。*(“$cost[$i]”“+“$prepcost[$i]”;“所有这些都会进入列中。原因是公式周围有引号,所以它是一个文本字符串,而不是数学。但我不明白这怎么会出现在数据库中。
totalcost
列真的是
VARCHAR
而不是
NUMERIC
totalcost='".$totalcost[$i]."*(".$cost[$i]."+".$prepcost[$i]‌​.");