如何从我的两个表中获取值?

How can I get values from both my tables?

假设我必须 MySQL 这样的表格。

TBL_1

ID - NAME - DESCRIPTION
1    foo    very nice

TBL_2

ID - PRICE - CATEGORY - QUANTITY
1     10        a          5

如果我要像这样设置一个 PDO 实例....

<?php 
  $handler = new PDO("XXXX;XXXXX","XXX","XXX");

  $query = $handler->query('SELECT * FROM TBL_1');
  while($r = $query->fetch(PDO::FETCH_OBJ)) {

    echo $r->id;       
    echo $r->name;
    echo $r->description;

    //echo $r->price;
    //echo $r->category;
    //echo $r->quantity;
  }

如何访问 pricecategoryquantity,其中两个表中的 ID 彼此相等?

所以比如说,它会变成这样。

1 foo very nice 10 a 5

假设 ID 列包含相同的值(即存在外键约束,因为这些值代表相同的实体),您将希望使用 INNER JOIN 执行查询柱子。默认情况下,使用 INNER JOIN,如果请求的值(例如 WHERE 'ID' = 3 子句)在 table 中都不存在,则不会返回任何结果。尝试以下操作:

SELECT *
FROM `TBL_1` AS `t1`
INNER JOIN `TBL_2` AS `t2` ON `t1`.`ID` = `t2`.`ID`;

您可以使用 JOIN:

SELECT name, description, price, category, quantity
FROM TBL_1
JOIN TBL_2
USING (id)

希望对您有所帮助。

您只需在 table 上执行 INNER JOIN,其中每个 table 上的 id 都相等。

SELECT * FROM TBL_1 INNER JOIN TBL_2 ON TBL_1.ID=TBL_2.ID;