PHP MySQL-在数据库的两个单独的表上获取相同的ID

时间:2018-12-29 18:07:35

标签: php mysql sql

我正在尝试在我的表customer_id上获取此tbl_customers,当我获得该ID时,我也想在第二张表customer_id上获取tbl_stocks的值这样我就可以绑定tbl_customers拥有的数据。

第一-这是我的表tbl_customers的结构,请看一下。

tbl1

2nd-这也是我的表tbl_stocks的结构,请看一下。 enter image description here

您可以看到我想要的是cutomer_idtbl_customers的数量。那个 ID已绑定,并且会获取所有相同的ID和值tbl_stocks中的行也是customer_id,因此对于这种类型的查询,我如何使sql查询语句出现此问题?到目前为止,我有这个sql语句,但是它没有获取数据。

 //PSEUDO CODE ONLY IM NOT FAMILIAR WITH THE SYNTAX OF THIS PROBLEM

$sql = SELECT `tbl_customers` FROM `customer_id` = 1 AND SELECT `tbl_stocks` FROM `customer_id` = 1;

,所以如果它能正常工作,我将获取的最终 OUTPUT 就是这样

enter image description here

  

P.S-我不需要在文本框或任何形式的输入上显示它,我只需要使用sql查询就可以获取它,这样我就知道该程序正在获取表的值,谢谢!

3 个答案:

答案 0 :(得分:0)

您应该使用joins

这是您可以尝试的查询。

select c.*, s.*
from tbl_customers c
join tbl_stocks s on s.customer_id = c.customer_id
and c.customer_id = 1

此外,您应该阅读更多有关 https://dev.mysql.com/doc/refman/8.0/en/join.html

在这里,我将更新在php页面中打印值的答案

$dbConn = mysqli_connect('localhost', 'username', 'password', 'databaseName');
if(!$dbConn){
    echo "DB Not connected !";
}

$query = "select c.*, s.* from tbl_customers c join tbl_stocks s on s.customer_id = c.customer_id and c.customer_id = 1";
$result= $dbConn->query($query);
while($row = $result->fetch_object()){ 
    echo $row->customer_id;
    echo $row->color;
    // here you may add more columns to print
}

答案 1 :(得分:0)

您实际上不需要查询两个表。由于在库存表中可以找到客户ID,因此您只需要:

SELECT
    s.customer_id,
    s.id,
    s.item,
    s.color
FROM tbl_stocks as s
WHERE s.customer_id = ?

如果要查询两个表,例如以检索其他一些客户信息,请使用JOIN:

SELECT
    c.customer_id,
    s.id,
    s.item,
    s.color
FROM
   tbl_customers as c
   INNER JOIN  tbl_stocks as s on s.customer_id = c.customer_id
WHERE c.customer_id = ?

答案 2 :(得分:0)

了解有关SQL JOINS的信息:

contains