簡體   English   中英

如何在SQL中使用PHP中的PDO從子表中獲取信息?

[英]How to get info from a child table using PDO in PHP with SQL?

如何通過使用引用父級的外鍵的子級表(通過父表)獲取信息。

例如:

表: user_list (父級)

-----------------------------
first_name | Last Name | ID |
-----------------------------
   john    | Appleseed |  4 |
           |           |    |

表: user_info :(子級)

----------------------------------------------
     email         |  password | userlist_ID |
----------------------------------------------
jappleseed@me.com  |   ******* |       4     |

假設我將John Appleseed的信息存儲在數組中:

$johnsInfo;

然后,如何從user_info表中檢索John的電子郵件?

我正在嘗試這個atm:

db->query("SELECT * FROM user_info WHERE userlist_ID = :ID", $johnsInfo);

雖然不確定這是否是正確的處理方式。

如果這是一個真實的示例,則應將兩個表合並為一個表。 通常,如果表具有1:1對應關系,則應將它們放在一起(盡管在某些特殊情況下不應該)。

無論如何,您想要執行以下操作:

SELECT ul.*, ui.* FROM user_list ul
LEFT JOIN user_info ui
  ON ui.userlist_ID=ul.ID
WHERE ul.ID = :ID

有不同種類的聯接。 查閱MySQL文檔( http://dev.mysql.com/doc/refman/5.0/en/join.html )或搜索“數據庫聯接”之類的東西,以找出最終適合您的文件。

這是您需要的SQL

SELECT user_list.ID
      ,user_list.first_name
      ,user_list.last_name 
      ,user_info.email
      ,user_info.password           
FROM user_list 
INNER JOIN user_info
ON user_list.ID = user_info.userlist_ID 
WHERE user.ID = :ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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