繁体   English   中英

对 sql join 感到困惑

[英]confused about sql join

我有这个VIEW MODAL它通过 ID查看表中的数据我的问题是如果我添加更新(如您在图像中看到的)它不会显示在表中更新和更新:我尝试加入 mysql 但它只是在我的第二个表中获取 dateupdated 列。 这是我的第二个add_update 表,这是我的第一个表文档表,如您所见,外键是 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);

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

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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM