MySQL和PHP数据库?
我正在用PHP和MySQL数据库管理做一个练习,我试图用PHP从表中的字段返回一个值。我试图从foods表中的CalsPerServ中获取值,其中FoodId等于用户选择的FoodId。我现在得到的只是一个数组,当我应该返回一个结果时。知道哪里出了问题吗MySQL和PHP数据库?,php,mysql,database,Php,Mysql,Database,我正在用PHP和MySQL数据库管理做一个练习,我试图用PHP从表中的字段返回一个值。我试图从foods表中的CalsPerServ中获取值,其中FoodId等于用户选择的FoodId。我现在得到的只是一个数组,当我应该返回一个结果时。知道哪里出了问题吗 if($tableName == "meals"){ $foodsID = filter_input(INPUT_POST, "foodsID"); $servings = filter_input(INPUT_
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);
}
问题就在这一行
$calories = ($CalsPerServ * $servings) * 100;
$CalsPerServ
是包含查询结果的数组。为了从中获得单列值,您必须像这样使用它
$calories = ($CalsPerServ['CalsPerServ'] * $servings) * 100;
即使您正在查询一件事,mysql\u fetch\u assoc()也会返回一个数组 这样,即使您选择了多个项目,您也将始终知道将返回一个关联数组,其中所选项目作为其键
$CalsPerServ = mysql_fetch_assoc($result);
print $CalsPerServ['CalsPerServ'];
mysql_fetch_assoc返回一个关联数组。并告诉你的老师mysql_*已被弃用。()-0.49用于2013年使用mysql_查询。看看mysqli或PDO。任何一个都支持预处理语句,这首先意味着你不必手动完成所有这些摆脱垃圾和拼凑SQL的工作。@Tom告诉我吧。。。我很生气,他只教这些+1.学习过程。你现在比我远多了。不管是谁毁了你,真丢脸。@cHao真的,相信我,如果不是为了学校,我根本不会做数据库!啊!!非常感谢你!我知道有些小事我没有做。我猜我的大脑在8个小时的编码后被炸了!啊!!非常感谢你!我知道有些小事我没有做。我猜我的大脑在8个小时的编码后被炸了@Rachellelbennington这主要发生在程序员身上:)