好吧,我有一种情况需要同时从两个表中SELECT
数据。但我的主要问题是,当SELECT .. WHERE
中我需要的值在table1的WHERE clause
语句的返回值中时,我在table2中如何SELECT
。
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
语句的返回值为。{/ p>
当studNumber
的{{1}}语句位于同一{{1}时,我是否可以在SELECT
语句的返回值中获取SELECT
值}}?或者还有另一种方法吗?
希望我清楚地解释了我的情况。
答案 0 :(得分:1)
您需要使用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();