2015-11-12 4 views
3

Я пытаюсь написать свой первый запрос на соединение, который поможет мне присоединиться к двум различным таблицам, один для студентов, а другой - для subjects.This мой первый запрос на соединение, и кажется, что это не работает, может кто-нибудь указать на mistakes.Php не показывают какую-либо ошибку или Worningjoin query not fetching any data

enter image description hereenter image description here

try{ 
    $pdo=new PDO("mysql:host=localhost;dbname=mydb",'root',''); 
    $sql="SELECT * FROM students LEFT JOIN subjects WHERE students.courseid=subjects.courseid"; 
    $conn=$pdo->prepare($sql); 
     if($conn->execute()){ 
     $results=$conn->fetchAll(); 
     print_r($results); 
     } 
    }catch(PDOException $e){ 
     echo $e->getMessage(); 
    } 
+0

Если вы запустите свой запрос в оболочке MySQL, вы также не получите результат? – Musa

+0

Просто выполните var_dump ($ results); и опубликуйте результат здесь –

+0

Где находится 'courseid' в' subject' table? – Thamilan

ответ

2

Предполагая, что вы таблицу имя для студентов студентов и вы субъектов таблицы при условии, то я думаю, что это должно быть:

SELECT * FROM students LEFT JOIN subjects on students.courseid=subjects.subjectid 

, потому что у вас есть subjectid в вашей таблице предметов и not courseid

+0

Присоединиться смущает меня .. Надеюсь, что скоро придет идея ..thanx много: D –

+0

Вы тоже попробовали это в своем менеджере db? – davejal

+0

отредактировал, пропустил пробел после на – davejal

2

Заменить WHERE с ON в запросе.

SELECT * FROM students LEFT JOIN subjects ON students.courseid=subjects.courseid 

See Mysql JOIN Syntax

+0

вы можете немного объяснить ... это тоже не сработало! –