对sql join感到困惑

时间:2018-02-14 02:48:51

标签: php mysql sql

我有这个 VIEW MODAL它通过ID来查看表中的数据我的问题是什么 如果我添加更新(如图中所示)它不会显示在更新的表中并更新:我尝试加入mysql但它只获取我的第二个表中的dateupdated列。这是我的第二个add_update table,这是我的第一个表document table外键是document_id,你可以看到。

这是我在mysql中的查询

$query = "SELECT document.document_id, document.document_name, document.document_type,
   document.document_from,document.document_to,document.document_recieved, document.document_date,document.document_dater,
   document.document_status,document.document_signatories,document.document_remarks,document.document_encoded, add_update.document_date_update,
   add_update.document_update,add_update.document_updatedby FROM document LEFT JOIN add_update ON document.document_id = add_update.document_id WHERE
    document.document_id = '".$_POST["document_id"]."'";
  $result = mysqli_query($connection, $query);

1 个答案:

答案 0 :(得分:0)

我相信你必须追踪代码。首先你可以做到

print_r($result)

检查查询是否包含所有列。然后,如果它已经给你正确的结果,请检查你的表格,检查它是否输出正确的变量。

使用参数绑定也是一个好习惯:

$query = $mysqli->prepare('SELECT document.document_id,  
  document.document_name, 
  document.document_type, 
  document.document_from,
  document.document_to,
  document.document_recieved, 
  document.document_date,
  document.document_dater,    
  document.document_status,
  document.document_signatories,
  document.document_remarks,
  document.document_encoded,
  add_update.document_date_update, 
  add_update.document_update, 
  add_update.document_updatedby 
  FROM document 
  LEFT JOIN add_update ON document.document_id = add_update.document_id 
  WHERE
  document.document_id = ?');
$query->bind_param('s', $_POST["document_id"]);
$result = $query->execute();