在MySQL和关系表中加入错误

时间:2014-10-28 15:21:00

标签: php mysql

我有三张桌子,"食物","会员"和" member_food"。我试图创建一个更新用户页面,其中标签集合由" member_food"中的数据预先填充。

我已经调试了从上一页发送的ID,这样我就可以选择我要查询的条目ID:4

$query = "SELECT * FROM `food` left join `member_food` on food.entityid = member_food.food_id WHERE member_id = '$id'";
            //Breakfast
            $breakfastresult1 = $mysqli->query($query);

echo '<select name="breakfast1">';
        while($BreakfastData1 = mysqli_fetch_array($breakfastresult1, MYSQL_ASSOC))
        {
            echo '<p><option value="' . htmlspecialchars($BreakfastData1['member_food.food_id']) . '">' 
                . htmlspecialchars($BreakfastData1['member_food.food_name']) 
                . '</option>'
                . '</p>';        
        }
echo '</select>';

但是,选择字段似乎为空。我认为它没有从我的leftjoin表中提取正确的值。

以下是我的member_food表的示例: enter image description here

食物表:

enter image description here

2 个答案:

答案 0 :(得分:3)

编辑这个,首先你有一个拼写错误(左边+连接中缺少空格)第二个你需要知道哪个表member_id属于

     $query = "SELECT * FROM `food` as f left join `member_food` as mf on f.entityid = mf.food_id WHERE mf.member_id = '$id'";

答案 1 :(得分:2)

您可以使用它来正确规划联接。而且,正如阿卜杜勒指出的那样,错别字是坏的;)

enter image description here