选择和取消链接3个表

时间:2018-02-06 07:15:24

标签: php mysql sql database pdo

请帮我检查一下我的查询。我搜索了很多,我之前没有尝试选择3个表。

我认为我做得对,但我不知道为什么没有发生。



  public function delSection($delete_id)
  {
    $stmt = $this->conn->prepare("SELECT * FROM tbl_section
                                           JOIN tbl_login ON (tbl_login.sec_id = tbl_section.sec_id)
                                           JOIN tbl_content ON (tbl_content.sec_id = tbl_section.sec_id)
                                           WHERE tbl_section.sec_id=:del_id");
    $stmt->execute(array(":del_id"=>$delete_id));
    while($linkRow=$stmt->fetch(PDO::FETCH_ASSOC))
    {
      unlink(__DIR__."/Admin/cover_images/".$linkRow['sec_cover']);
      unlink(__DIR__."/Admin/Files/".$linkRow['sec_id']."/".$linkRow['file_name']);
      rmdir(__DIR__."/Admin/Files/".$linkRow['sec_id']);
    }

    $stmt2 = $this->conn->prepare("DELETE tbl_section, tbl_login, tbl_content FROM tbl_section
                                          JOIN tbl_login ON (tbl_login.sec_id = tbl_section.sec_id)
                                          JOIN tbl_content ON (tbl_content.sec_id = tbl_section.sec_id)
                                          WHERE tbl_section.sec_id=:del_id");

    $stmt2->bindparam(":del_id",$delete_id);
    $stmt2->execute();
    return true;
  }




我要做的是从3个表中选择*并使用fk sec_id获取数据

这是手动运行查询

enter image description here

链接:

enter image description here

代码:

enter image description here

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

完成LEFT OUTER JOIN QUERY



    $stmt = $this->conn->prepare("SELECT * FROM tbl_section
                                           LEFT OUTER JOIN tbl_login ON (tbl_login.sec_id = tbl_section.sec_id)
                                           LEFT OUTER JOIN tbl_content ON (tbl_content.sec_id = tbl_section.sec_id)
                                           WHERE tbl_section.sec_id=:unlink_id");