Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL和关系表中的联接错误_Php_Mysql - Fatal编程技术网

Php MySQL和关系表中的联接错误

Php MySQL和关系表中的联接错误,php,mysql,Php,Mysql,我有三张桌子,“食品”、“会员”和“会员食品”。我正在尝试创建一个更新用户页面,其中“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

我有三张桌子,“食品”、“会员”和“会员食品”。我正在尝试创建一个更新用户页面,其中“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>';
$query=“SELECT*FROM`food` left join`member\u food`on food.entityid=member\u food.food\u id,其中member\u id='$id';
//早餐
$breakfastresult1=$mysqli->query($query);
回声';
而($BreakfastData1=mysqli\u fetch\u数组($breakfastresult1,MYSQL\u ASSOC))
{
回声''
.htmlspecialchars($BreakfastData1['member\u food.food\u name']))
. ''
“

”; } 回声';
但是,“选择”字段似乎为空。我认为它没有从我的leftjoin表中提取正确的值

以下是我的会员餐表示例:

餐桌:


编辑此项,首先您有一个输入错误(left+join中缺少空格),然后您需要判断表成员id属于哪一个

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

编辑这个,首先您有一个输入错误(left+join中缺少空格),其次您需要判断表成员的id属于哪个

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

可以使用此选项正确规划联接。而且,正如阿卜杜勒所指出的,打字错误是很糟糕的;)


您可以使用此选项正确规划联接。而且,正如阿卜杜勒所指出的,打字错误是很糟糕的;)



leftjoin
space out=>
leftjoin
谢谢@Fred ii-仍然是空的。这个
['member\u food.food\u id']
['member\u food.food\u name']
不应该包含
member\u food.
-可能是问题的一部分。^^^^^这样做没有任何作用^^^对不起,弗雷德,我一下子有很多答案,但我没有看到。没有。尽管
leftjoin
space out=>
leftjoin
谢谢@Fred ii-虽然仍然是空的。这个
['member\u food.food\u id']
['member\u food.food\u name']
不应该包含
member\u food.
-可能是问题的一部分。^^^^^这样做没有任何作用^^^对不起,弗雷德,我一下子有很多答案,但我没有看到。没有。谢谢,虽然“左+连接中缺少空间”-OP确实修复了它。重新加载问题。好的@Fred我还有一个问题要回答,你认为这是对的吗?我们似乎是这样的朋友:请等待OP的回应在phpmyadmin中运行您的查询并告诉您是什么错误getting@BradlySpicer啊好的。只是检查一下;)“左+连接中缺少空间”-OP确实修复了它。重新加载问题。好的@Fred我还有一个问题要回答,你认为这是对的吗?我们似乎是这样的朋友:请等待OP的回应在phpmyadmin中运行您的查询并告诉您是什么错误getting@BradlySpicer啊好的。只是检查一下;)Hey Andrew,当前使用:此刻:)Hey Andrew,当前使用:此刻:)