2011-08-21 318 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)

,這將設置整列的所有用戶。但真的這是一個黑客它應該在插入或觸發。