我知道这听起来很简单,这可能只是我想念的东西,但这里正在发生的事情。我有两个需要分割的变量然后乘以另一个变量。分开的两个变量是完美的但是当我将这个和乘以下一个变量时,它出现了可怕的错误(至少对我来说)
$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电子表格。
答案 0 :(得分: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结果资源执行数学运算。
答案 1 :(得分:0)
从查询中提取的$sensorWidth
值可能无法正确提取。一旦拉动,请尝试添加以下行:
$sensorWidth = floatVal($sensorWidth);
在你尝试用它做数学之前。
这假设正在从数据库中提取正确的数字。
答案 2 :(得分: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_*
它们会被折旧,不再维护和支持,而是有两种替代扩展:pdo
和mysqli
详细信息:http://news.php.net/php.internals/53799,