Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Relacyjność baz
Forum PHP.pl > Forum > Przedszkole
Dukov
Chyba nie mam co pisać z góry dziękuję, natomiast z góry przepraszam chyba jak najbardziej.

  1. $stmt = $conn->query("SELECT comment, author, userID FROM articles, comments WHERE articleID = '$articleID'");


Tym razem o to zapytanie chodzi, pole comment mam w tabeli comments, natomiast author i userID w tabeli articles, pole articleID występuję w obu bazach, mam pytanie, czy z zapytaniem jest wszystko w porządku? Czy mogę tak pobierać pola z obu tabel? Oczywiście ono nie działa. A i pole comment i author są puste, nie wiem czy mogę 'pobierać' puste pola.
kapslokk
Joina uzyj
pavon
Po pierwsze, ty wiesz z których tabel pochodzą podane przez Ciebie nazwy pól ale baza już nie wink.gif Jeśli pobierasz Selectem dane z większej ilości tabel niż jedna, musisz przed każdą nazwą pola napisać nazwę danej tabeli, np.: SELECT tabela1.pole1, tabela2.pole2 itd. Dalej jak już wspomniano musisz użyć JOINa, aby wiadomo było, jakimi polami tabele się łączą ze sobą (polecam poczytać o różnicach między INNER JOIN, LEFT JOIN itd.). Z twojego opisu wnioskuję, że dalsza część zapytania powinna wyglądać tak: ... FROM articles INNER JOIN comments ON articles.articleID=comments.articleID. Finalnie wypróbuj takie zapytanie:
  1. "SELECT comments.comment, articles.authorID, articles.userID FROM articles INNER JOIN comments ON articles.articleID=comments.articleID WHERE articles.articleID = '$articleID'"

Poprawności nie gwarantuję ale wydaje mi się ze jest to już bliższe prawdy biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.