在php中的两个表上回显内连接

时间:2018-04-05 08:47:19

标签: php mysql

我有 3个表,我想加入。我在mysql中尝试过它并且工作正常。

但是我无法弄明白如何在php中回应它。 需要帮助。

________________________________________
            Table orders                
________________________________________
 id | user_id | pickup_id | shipping id 
________________________________________

______________
 Table pickup
______________ 
 id | address
______________

______________ 
Table shipping 
______________ 
 id | address
______________ 

我的php:

$sql1 = "SELECT * 
         FROM orders 
         INNER JOIN pickup ON 'orders.pickup_id' = 'pickup.id' 
         INNER JOIN shipping ON 'orders.shipping_id' = 'shipping.id' "; 
$run_query1 = mysqli_query($con, $sql1); 
$count1 = mysqli_num_rows($run_query1); 

    while($row1 = mysqli_fetch_array($run_query1)){ 
        echo '<pre>' . print_r( $row1, TRUE ) . '</pre>'; 
        echo $row1['address']; 
        echo $row1['id']; 
    } 

不输出任何内容

2 个答案:

答案 0 :(得分:0)

删除引号并将on字段放在括号中

 $sql1 = "SELECT * 
             FROM orders 
             INNER JOIN pickup ON (orders.pickup_id = pickup.id) 
             INNER JOIN shipping ON (orders.shipping_id = shipping.id) "; 
    $run_query1 = mysqli_query($con, $sql1); 
    $count1 = mysqli_num_rows($run_query1); 

        while($row1 = mysqli_fetch_array($run_query1)){ 
            echo '<pre>' . print_r( $row1, TRUE ) . '</pre>'; 
            echo $row1['address']; 
            echo $row1['id']; 
        }

答案 1 :(得分:0)

这对我有用:

$sql1 = ("SELECT
 pickup.address as pickup_address , shipping.address as shipping_address, orders.*
FROM orders 
RIGHT JOIN pickup ON orders.pickup_id = pickup.id
RIGHT JOIN shipping ON  orders.shipping_id = shipping.id
");

 $run_query1 = mysqli_query($con, $sql1);
 $count1 = mysqli_num_rows($run_query1);

  while($row1 = mysqli_fetch_array($run_query1)){
   echo $row1['pickup_address']."</br>";
   echo $row1 ['shipping_address']."</br>";
  }
相关问题