0

PHP と MySQL データベース管理の演習を行っており、PHP を使用してテーブルのフィールドから金額を返そうとしています。foodID がユーザーが選択した foodID と等しい food テーブルの CalsPerServ から値を取得しようとしています。私が今得ているのは配列だけですが、1つの結果を返す必要があります。何がうまくいかなかったのですか?

if($tableName == "meals"){
        $foodsID = filter_input(INPUT_POST, "foodsID");
        $servings = filter_input(INPUT_POST, "Servings");
        $foodsID = mysql_real_escape_string($foodsID);
        $servings = mysql_real_escape_string($servings);

        $query = "SELECT CalsPerServ FROM foods WHERE foodsID=$foodsID";
        $result = mysql_query($query, $connect);
        $CalsPerServ = mysql_fetch_assoc($result);

        print $CalsPerServ;

        $calories = ($CalsPerServ * $servings) * 100;

        $sql .= "(foodsID, Servings, Calories) VALUES ('$foodsID', '$servings', '$calories')";

        $sqltwo = "INSERT INTO daily_diary (foodsID, CaloriesPlus) VALUES ('$foodsID', '$calories')";
        $resulttwo = mysql_query($sqltwo, $connect);
}
4

2 に答える 2

1

問題はこの行にあります

$calories = ($CalsPerServ * $servings) * 100;

$CalsPerServクエリの結果を含む配列です。単一の列の値を取得するには、次のように使用する必要があります

$calories = ($CalsPerServ['CalsPerServ'] * $servings) * 100;
于 2013-06-17T22:59:10.013 に答える