Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z polaczeniem 2 tabeli
kociupk
post
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 1
Dołączył: 29.03.2006

Ostrzeżenie: (0%)
-----


mam o to take zapytanie do logowanie ktora laczy 2 tabele tylko nie dziala jak polaczyc 2 tabele ?

  1. $zapytanie = mysql_query("SELECT * FROM (SELECT id_ucznia FROM uczniowie) UNION
  2. (SELECT id_user FROM administrator) WHERE pesel = '".$_POST['pesel']."' AND password = '".$password."'") OR die(mysql_error);


Ten post edytował kociupk 23.12.2006, 23:19:54
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Przedstaw strukturę "zainteresowanych" tabel i napisz, co zapytanie ma z nich pobrać ...

[EDIT]
Mam wrażenie, że zaprezentowane zapytanie jest zbyt skomplikowane...

Ten post edytował JaRoPHP 24.12.2006, 00:10:29
Go to the top of the page
+Quote Post
kociupk
post
Post #3





Grupa: Zarejestrowani
Postów: 97
Pomógł: 1
Dołączył: 29.03.2006

Ostrzeżenie: (0%)
-----


tabela uczniowie
id_ucznia | pesel | password|
-----------|--------|------------|

tabela administracja
id_user | pesel | password|
---------|--------|------------|

i chce porownac pesel i haslo wpisane w formularzu z tymi co sa w bazie danych jest to zapytanie ze scriptu logowania
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #4





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat
i chce porownac pesel i haslo wpisane w formularzu z tymi co sa w bazie danych
Dobrze, ale po co chcesz łączyć tabele?
Użytkownik podaje swój pesel, hasło i skrypt ma wybrać, czy jest uczniem, czy administratorem?
Czy może użytkownik loguje się jako uczeń, albo administarator?
I czy uczeń może być jednocześnie administaratorem?
Go to the top of the page
+Quote Post
Norbas
post
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

Ostrzeżenie: (0%)
-----


  1. SELECT id_ucznia AS id_ FROM uczniowie AS u WHERE u.pesel=... AND u.password=...
  2. UNION
  3. SELECT id_user FROM administracja AS a WHERE a.pesel=... AND a.password=...
Go to the top of the page
+Quote Post
kociupk
post
Post #6





Grupa: Zarejestrowani
Postów: 97
Pomógł: 1
Dołączył: 29.03.2006

Ostrzeżenie: (0%)
-----


wyskakuje blad Unknown column 'id_user' in 'where clause'

to zapytanie ma tylko za zadanie sprawdzic poprawnosc wpisanych danych inne zapytanie za pomoca wyciagnietch danych z tego zapytania (id_user , id_ucznia) sprawdza jakie uzytkownik ma uprawnienia i przenosi go do odpowiedniej strony
Go to the top of the page
+Quote Post
Norbas
post
Post #7





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

Ostrzeżenie: (0%)
-----


Na pewno w zapytaniu, które napisałem? Napisz jakie zbudowałeś zapytanie.
Go to the top of the page
+Quote Post
kociupk
post
Post #8





Grupa: Zarejestrowani
Postów: 97
Pomógł: 1
Dołączył: 29.03.2006

Ostrzeżenie: (0%)
-----


  1. $zapytanie = mysql_query("SELECT id_ucznia AS id_ FROM uczniowie AS u
  2. WHERE u.pesel= '".$_POST['pesel']."' AND u.password= '".$password."'
  3. UNION
  4. SELECT id_user FROM administracja AS a
  5. WHERE a.pesel= '".$_POST['pesel']."' AND a.password= '".$password."'") OR die(mysql_error());


Ten post edytował kociupk 24.12.2006, 14:15:45
Go to the top of the page
+Quote Post
Norbas
post
Post #9





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

Ostrzeżenie: (0%)
-----


Jak nazywa się w Twoja tabela, gdzie przechowujesz dane użytkowników - 'administrator' czy 'administracja'?

Ten post edytował Norbas 24.12.2006, 14:22:08
Go to the top of the page
+Quote Post
kociupk
post
Post #10





Grupa: Zarejestrowani
Postów: 97
Pomógł: 1
Dołączył: 29.03.2006

Ostrzeżenie: (0%)
-----


dane uczniow w tabeli uczniowie
dane nauczycieli sekretarki i admina w tabeli administracja
Go to the top of the page
+Quote Post
Norbas
post
Post #11





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

Ostrzeżenie: (0%)
-----


W pierwszym zapytaniu, które podałeś miałeś tabelę 'administrator'. Jeżeli tabela naprawdę nazywa się 'administracja' i ma pole 'id_user', to nie wiem dlaczego jest błąd. Możesz spróbować wstawić drugi SELECT w nawiasy. Używaj również funkcji mysql_real_escape_string dla danych z formularza.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 19:23