2011-08-21 234 views
0

我想计算成员的BMI并将其保存在数据库中。然后他们可以查看他们存储的BMI。MySQL BMI计算

下面是我能想出来的唯一的东西,但是代码中有一些错误(mysql_fetch_array()期望参数1是资源,布尔给出)。

有人可以帮我解决吗?

$bmi= mysql_query ("SELECT id WHERE ((SELECT (weight))/((SELECT (height)) * (SELECT (height))) FROM myMembers) FROM myMembers"); 

while($row = mysql_fetch_array($bmi)){ 
$sqlUpdate = mysql_query("UPDATE myMembers SET bmi='$bmi' WHERE id='$id'"); 
} 
+2

当您的代码引发错误时,**发布错误消息**。 – Mat

+0

您可能需要添加一个空白列,然后再使用更新进行填充。我不敢肯定。 – Paul

回答

1
SELECT id, (weight/height * height) as bmi FROM myMembers 
+0

感谢您的帮助! 但我怎样才能将结果保存到myMembers表中? – shachs

+0

你确定吗?可能100/5 * 5 = 100,而不是4? – Paul

+0

没关系,我只是在使用mySQL时遇到问题,数学如何并不重要。 我需要知道的是我如何计算表中的两个字段并将结果存储在同一个表中。 查询工作正常,但没有存储或更新表格。 – shachs

1

与SQL这笔交易是要减少奎雷斯尽可能的数量。应该避免使用子选择,但它比将其分解为大量查询要好得多。应该避免像疱疹一样避免选择一段时间()。

update myMember set bmi=weight/(height*height)

,这将设置整列的所有用户。但真的这是一个黑客它应该在插入或触发。