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].");