簡體   English   中英

MySQL使用PHP連接兩個表

[英]MySQL join two tables using php

我有兩張桌子menudetailsmeals menudetails表如下所示:

id | menu_id | meal_id |
1  |    9    |   15    |
2  |    9    |   16    |

meals表如下所示:

meal_id |   name    | 
   15   | hamburger |  
   16   | pizza     |

我有$menu_id=9 我想要所有的飯菜namemeal_idmenu_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM