繁体   English   中英

是否可以使用PHP PDO从第一张表中的列从第二张表中获取数据?

[英]Is it possible to get data from the 2nd table using column in 1st table using PHP PDO?

好吧,我有一种情况,我需要一次从两个表中SELECT数据。 但是我的主要问题是,当我在WHERE clause中需要的值在table1的SELECT语句的返回值中时,如何在table2中SELECT .. WHERE

test.php的

<?php 
   include("../../connection.php");
    $data = json_decode(file_get_contents("php://input"));
    $id= $data->id;

    try{
      $db->exec("SET CHARACTER SET utf8");  
      $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

      $sql = "
        SELECT * FROM tblstudents WHERE studID=':id';
        SELECT * FROM tblparents WHERE studNumber=':studNumber';
      ";

      $statement = $db->prepare($sql);
      $statement->bindValue(":id", $id);
      $statement->bindValue(":studNumber", $studNumber);

      $result = $statement->execute();

      echo json_encode($result);

    }
    catch(PDOException $e) {
      echo $e->getMessage();
    }

?>

studNumber值在tblstudents ,它将具有SELECT语句的返回值。

tblparentsSELECT语句在同一sql query时,是否有可能在SELECT语句的返回值中获得studNumber值? 还是有另一种方法?

希望我能清楚地说明我的情况。

您需要使用JOIN从多个表中获取数据。 试试这个查询:

$sql = "SELECT * FROM tblstudents JOIN tblparents on
 tblstudents.studNumber  = tblparents.studNumber  WHERE tblstudents.studID=:id;"

  $statement = $db->prepare($sql);
  $statement->bindValue(":id", $id);
  $result = $statement->execute();

暂无
暂无

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

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