gpt4 book ai didi

php - 如何接受 html 表单中的浮点值并将其发送到 MySQL DB

转载 作者:行者123 更新时间:2023-11-29 14:25:11 24 4
gpt4 key购买 nike

我创建了一个表单,其中包含用于接受 float 值作为输入的字段。我的目标是能够将这些值存储在数据库中并在以后使用它们。到目前为止我尝试过的一切都以失败告终。

我尝试将输入字段类型从文本更改为数字、浮点型以及步长较小的偶数。似乎当我用 php 请求字段的值然后将其发送到我的数据库时,出现了问题并且仅存储最接近的整数。有想法吗?

我的表单代码是:

<form name ="chemAdd"  action="submitChemData.php" method="POST" id="chemData">

<fieldset>
<legend>Chemical Information</legend>
<label for="chemName">Chemical Name:</label>
<input type="text" name="chemName" />

<label for="chemFormula">Molecular Formula:</label>
<input type="text" name="chemFormula" />
</fieldset>
<br />

<fieldset>
<legend>Antoine Constants</legend>
<label for="A">A:</label>
<input type="number" name="A" size="10" min="0" max="9999" step="0.00000001" />

<label for="B">B:</label>
<input type="float" name="B" size="10"/>

<label for="C">C:</label>
<input type="text" name="C" size="10"/>

<br /><br />

<label for="unitT">Unit (Temperature):</label>
<select name="unitT" >
<option value="K">Kelvin</option>
<option value="C">Celcius</option>
<option value="F">Fahrenheit</option>
</select>

<label for="unitP">Unit (Pressure):</label>
<select name="unitP" >
<option value="P">Pascal</option>
<option value="Hg">mm Hg</option>
<option value="bar">bar</option>
</select>

</fieldset>
<br />
<fieldset>
<legend>Reference Information</legend>
<label for="Tmin">Temp. Minimum:</label>
<input type="float" name="Tmin" size="10"/>

<label for="Tmax">Temp. Maximum:</label>
<input type="float" name="Tmax" size="10"/>
<br /><br />
<label for="Reference">Reference:</label>
<input type="text" name="Reference" size="60"/>

</fieldset>
<br />
<input type="submit" value="Add to Database" id="submit" />

</form>
</form>

我的 PHP 代码是:

  require_once 'dbConnectChem.php';


$name = trim(strtoupper($_REQUEST['chemName']));
$formula= trim(strtoupper($_REQUEST['chemFormula']));
$A = $_REQUEST['A'];
$B = $_REQUEST['B'];
$C = $_REQUEST['C'];
$unitT = $_REQUEST['unitT'];
$unitP = $_REQUEST['unitP'];
$Tmin = $_REQUEST['Tmin'];
$Tmax = $_REQUEST['Tmax'];
$Reference = $_REQUEST['Reference'];


//INSERT Query
mysql_query("INSERT INTO Antoine (Name,Formula,A,B,C,unit_T,unit_P,Tmin,Tmax,Reference) VALUES ('{$name}','{$formula}','{$A}','{$B}','{$C}','{$unitT}','{$unitP}','{$Tmin}','{$Tmax}','{$Reference}') ")
or die(mysql_error());

最佳答案

使用 DECIMAL 数据类型而不是 Float。如 this link 中所述,有时浮点值会导致问题,而 Decimal 则可以正常工作。

像这样使用它:

CREATE TABLE t1 (i INT, d1 DECIMAL(9,2), d2 DECIMAL(9,2));

这里9是精度,2是小数位数。相应地更改它

关于php - 如何接受 html 表单中的浮点值并将其发送到 MySQL DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11126748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com