2017-08-19 5 views
0

Nun, ich habe eine Situation, die ich SELECT Daten aus zwei Tabellen gleichzeitig benötigen. Aber mein Hauptproblem ist, wie kann ich SELECT .. WHERE in meiner Tabelle2, wenn der Wert, den ich in WHERE clause brauchte, im Rückgabewert SELECT Anweisung in Tabelle1 ist.Ist es möglich, Daten aus der zweiten Tabelle mithilfe der Spalte in der ersten Tabelle mit PHP-PDO zu erhalten?

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

?> 

Der studNumber Wert im tblstudents, die einen Rückgabewert von SELECT Aussage haben.

Ist es möglich, dass ich den studNumber Wert im Rückgabewert von SELECT Anweisung erhalten kann, wenn die SELECT Aussage der tblparents im gleichen sql query ist? Oder gibt es einen anderen Weg?

Ich hoffe, ich erklärte meine Situation klar.

+1

Ich glaube, Sie brauchen 'INNER JOIN' – JYoThI

+0

@JYoThI Okay Dank Ich werde versuchen, dass. – Marksmanship

+1

Lesen Sie über Joins – Strawberry

Antwort

1

Sie müssen JOIN verwenden, um Daten aus mehreren Tabellen abzurufen. Diese Abfrage:

$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(); 
+0

Vielen Dank für Ihre Antwort. Entschuldigung für die verspätete Annahme der Antwort. – Marksmanship

Verwandte Themen