Zapis danych do sesji - nieprawidlowe uzycie funkcji mysql_fetch_assoc

0

witam, mam taki oto kod:

$zapytanie = "SELECT * FROM `users` WHERE `user`='$uzytkownik' AND `pass`='$haslo'";
$idzapytania = mysql_query($zapytanie);
if (mysql_fetch_row($idzapytania)) 
{
//1
	while ($wiersz = mysql_fetch_row($idzapytania)) 
	{
//2
		$_SESSION['id']=$wiersz['0'];
		$_SESSION['user']=$wiersz['1'];
		$_SESSION['pass']=$wiersz['2'];
	}
	header('location:index.php');
	
}else
{
$message="Nipoprawne hasło lub nazwa użytkownika";

} 

wchodzi mi w miejsce oznaczone 1 ale nie wchodzi do miejsca 2, wie ktoś może dlaczego się tak dzieje? Proszę o pomoc, męczę się juz nad tym od dobrych kilkunastu minut...

0

Zamień

if (mysql_fetch_row($idzapytania))

naif ($idzapytania)

0

hah, działa, aż nie wierzę, że to takie banalne, a ja się tyle męczyłem. Wielkie dzięki ;)

0

jednak nie do końca... teraz jak podam niepoprawne dane, to zamiast wyświetlić mi komunikat o niepoprawnych danych wchodzi mi do punktu 1 i przekierowuje do index.php

0

Źle się do tego zabrałeś - zamiast sprawdzać czy udało się coś zwrócić w ten sposób, sprawdź czy ilość zwróconych rekordów w takim zapytaniu nie jest zerowa. Jeśli jest zerowa - nazwa użytkownika lub hasło nie są poprawne.

if (mysql_num_rows($idzapytania) > 0)
{
    // cośtamcośtam, logowanie
}
else
    // error

1 użytkowników online, w tym zalogowanych: 0, gości: 1