Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z SELECTEM + logowanie php
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
Szajba
Witam próbuje zrobić logowanie do bazy, w którym z 3 tabel będzie pobierany login oraz hasło, kod wygląda tak:

  1. <?
  2. function autoryzacja() {
  3. include "polaczenie.php";
  4. $login=$_POST['login'];
  5. $haslo=md5($_POST['haslo']);
  6.  
  7. $zapytanie = "exec login";
  8.  
  9. $wynik = mssql_query( $zapytanie, $polaczenie );
  10. $totalrows_wynik = mssql_num_rows($wynik);
  11. if ($totalrows_wynik == 1) {  $_SESSION['zalogowany']=$login;
  12. $_SESSION['au']=1;}
  13. else
  14.  
  15.  print ("<font><b><p> Zła nazwa użytkownika lub hasło</p></b></font>");
  16. }
  17.  
  18.  
  19. ?>


a zapytanie SQL:

  1. CREATE PROCEDURE login AS SELECT login, haslo
  2. FROM Pacjent
  3. UNION
  4. SELECT login, haslo
  5. FROM Lekarze
  6. UNION
  7. SELECT login, haslo
  8. FROM Administrator
  9. WHERE login = '$login' AND haslo = '$haslo'
  10. RETURN
  11. GO


Problem wydaje sie w polaczniu tabel, gdy robie ten SELECT na 1 tabeli, wszystko smiga az miło.
Ale jak łącze tabele to po wpisaniu loginu wywala mi ciągle : Zła nazwa uzytkownika lub haslo" questionmark.gif?

Prosze o pomoc, każda sugestia będzie mile widziana.
Zbłąkany
A nie prościej by było zrobić tak:
users:
id,login,password,oid
options:
id,name
Łatwiej jest szukać w jednej tabeli jak w 3 gdzie masz takie same nazwy, a jeśli już koniecznie musisz zrobić to na 3 tabelach to użyj aliasów na login i haslo dla każdej tabeli, a na końcu daj warunki złożone: login i haslo dla tylko jednej tabeli a nie wszystkich naraz, chyba, że jeden użytkownik może być jednocześnie adminem, lekarzem i pacjentem winksmiley.jpg
Method
tak btw to ja bym uzyl viewsa i na bank rozwiazaloby ten problem
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.