0

我知道这听起来很简单,这可能只是我缺少的东西,但这就是正在发生的事情。我有两个变量需要除以另一个变量。分开的两个变量很完美,但是当我将该总和乘以下一个变量时,结果非常错误(至少对我而言)

$horiFOV = 20;
$distObj = 35;

$sensorWidth = mysql_query("SELECT camlist.width FROM camlist WHERE camlist.camera = '$camSelect'");

$lensCalc = $distObj / $horiFOV;
$lensCalcA = $lensCalc * $sensorWidth;

我像这样拆分它们,这样我就可以呼应每个的结果。mysql 查询结果也为 4.80 但所有这一切的结果都是 12.25,它应该是 8.4。

请注意,这一切都基于我在网络上重新创建的 Excel 电子表格。

4

3 回答 3

2

将您的 $sensorWidth = mysql_query() 行替换为:

$result = mysql_query("SELECT camlist.width FROM camlist WHERE camlist.camera = '$camSelect'");
$row = mysql_fetch_assoc($result);
$sensorWidth = $row['width'];

您不能对 mysql 结果资源执行数学运算。

于 2013-04-25T20:10:26.227 回答
0
$result = mysql_query("SELECT camlist.width FROM camlist WHERE camlist.camera = '$camSelect'");
$row=mysql_fetch_array($result);
$sensorWidth=floatval($row["width"]);//as mbsurfer suggested

$lensCalc = $distObj / $horiFOV;
$lensCalcA = $lensCalc * $sensorWidth;

并且对于将来不要使用mysql_*它们已贬值并且不再维护和支持,而是有两个替代扩展:pdomysqli详细信息:http: //news.php.net/php.internals/53799

于 2013-04-25T20:14:44.027 回答
0

从查询中提取的$sensorWidth值可能无法正确提取。拉出后,尝试添加该行:

$sensorWidth = floatVal($sensorWidth);

在你尝试用它做数学之前。

这是假设从数据库中提取了正确的数字。

于 2013-04-25T20:10:24.647 回答