[英]MySQL join two tables using php
我有兩張桌子menudetails
和meals
。 menudetails
表如下所示:
id | menu_id | meal_id |
1 | 9 | 15 |
2 | 9 | 16 |
和meals
表如下所示:
meal_id | name |
15 | hamburger |
16 | pizza |
我有$menu_id=9
。 我想要所有的飯菜name
和meal_id
其menu_id=9
。 我試過了:
$query = "SELECT meals.meal_id, meals.name".
"FROM menudetails, meals ".
"WHEREmenudetails.menu_id = '$menu_id'";
但是沒有用 有任何想法嗎?
您需要JOIN
這些表並也使用適當的空格。 嘗試這個:
SELECT ml.*
FROM meals ml JOIN
menudetails md on md.meal_id=ml.meal_id
WHERE md.menu_id='$menu_id'
要么
SELECT ml.meal_id, ml.name
FROM menudetails md, meals ml
WHERE md.meal_id=ml.meal_id
AND md.menu_id = '$menu_id'
分析:
使用您的代碼,我們將得到如下查詢:
SELECT meals.meal_id, meals.nameFROM menudetails, meals WHEREmenudetails.menu_id = '$menu_id'
因此,在代碼中使用適當的空格。
嘗試使用INNER JOIN
SELECT meals.meal_id,
meals.name
FROM meals
INNER JOIN menudetails ON menudetails.meal_id=meals.meal_id
WHERE menudetails.menu_id = 9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.