Mrpawelww | 2021-02-17 10:25:20 UTC | #1
Witam, mam pytanie bo szukam po całym internecie i nie mogę znaleźć żadnej pomocy, może tutaj ją znajdę ;) Potrzebuję funkcji do mysql która pobierze mi z dwóch tabeli jeden wynik o nicku takim samym jak jest w drugiej tabeli. Znalazłem coś takiego
SELECT * FROM authme a, ranks b WHERE a.realname = b.realname
ale tylko wyświetla mi wszystkie wyniki
Chodzi o to żeby podczas logowania na stronie internetowej pobierało mi wszystkie dane o jednym użytkowniku z wielu tabel i wpisywało je do sesji (generalnie to wszystko mam ustawione, tylko nie mogę pobrać danych dla jednego użytkownika). Pomożecie? Bo serio już nie wiem
B4GU5 | 2020-11-24 10:32:11 UTC | #2
Ja bym do tego dodał join np:
SELECT * FROM authme JOIN ranks ON ranks.realname = authme.realname WHERE authme.realname = ‘nickGracza’
Axerr | 2020-11-24 10:54:39 UTC | #3
Nie łatwiej Ci wysłać po jednym zapytaniu do każdej tabeli, aby pobrać informacje o użytkowniku?
Wiele więcej zasobów to nie zje, a będzie prostsze i czytelniejsze w kodzie.
Mrpawelww | 2020-11-24 10:54:11 UTC | #4
Nie działa. Albo coś źle robię
Mrpawelww | 2020-11-24 10:55:41 UTC | #5
Wiesz, oczywiście że będzie to łatwiejsze napisać kilka linijek kodu więcej, ale chcę się podszkolić z zakresu MySQL, niż tylko na podstawach jechać i pisać ogrom kodów w nieskończoność
B4GU5 | 2020-11-24 11:00:59 UTC | #6
Poprawiłem trochę pod względem wydajności, nie działa ponieważ ‘nickGracza’ jest brane jako tabela a 'nickGracza'
jest brane jako string
SELECT * FROM authme JOIN ranks ON ranks.realname = authme.realname AND authme.realname = 'nickGracza'
system | 2020-12-26 10:59:01 UTC | #7
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.