Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Logowanie i.. dziwny problem
Forum PHP.pl > Forum > Przedszkole
ownede
Cześć, Pisze CMS do pewnej gry.

Do tej pory wszystko szło gładko. Logowanie działało i nagle przestało (?).

Sprawdzam, czy użytkownik istnieje w bazie następującym kodem:
  1. <?php
  2. $query2 = "SELECT count(*) FROM players WHERE Name='".$login."' AND Password='".$haslo."'";
  3. $result2 = mysql_query($query2) or die(mysql_error());
  4. $row2 = mysql_fetch_row($result2) or die(mysql_error());
  5. ?>

$login i $haslo to dane z formularza.

Oto wyniki echo $query2 i $row2[0].
Kod
SELECT count(*) FROM players WHERE Name='Alex_Moore' AND Password='mojehaslo' // $query2
0 // $row2[0]


Gdy wykonuje to w PMA daje mi wynik 1. Co może być źle?

Z góry dziękuje,
Kacper
bounty
spróbuj tego:
Kod
$query2 = "SELECT * FROM players WHERE Name='".$login."' AND Password='".$haslo."'";

jezeli nie dziala to wyswietl zmienna login i haslo moze wczesniej gdzies masz blad ...
ownede
Nadal zwraca zero :|
Query w PMA wychodzi dobrze. count(*) = 1
b4x
  1. <?php
  2. $w = mysql_result(mysql_query('SELECT count(*) FROM `players` WHERE `Name` = "'.$login.'" AND `Password` = "'.$haslo.'"'),  0);
  3. ?>
ownede
Cytat(b4x @ 18.04.2009, 10:31:03 ) *
  1. <?php
  2. $w = mysql_result(mysql_query('SELECT count(*) FROM `players` WHERE `Name` = "'.$login.'" AND `Password` = "'.$haslo.'"'),  0, 0);
  3. ?>

Nadal zwraca 0 :S.

Wgrałem backup, gdy wszystko działało i nadal źle.
b4x
No to zrób inaczej...


  1. <?php
  2. $w = mysql_num_rows(mysql_query('SELECT * FROM `players` WHERE `Name` = "'.$login.'" AND `Password` = "'.$haslo.'"'));
  3. ?>
ownede
Cytat(b4x @ 18.04.2009, 10:41:14 ) *
No to zrób inaczej...
  1. <?php
  2. $w = mysql_num_rows(mysql_query('SELECT * FROM `players` WHERE `Name` = "'.$login.'" AND `Password` = "'.$haslo.'"'));
  3. ?>

Zmieniłem serwer SQL i działa każde zapytanie.
Crozin
Ale nie stosuj powyższego zapytania. Lepiej (optymalniej) jest to zrobić tak:
  1. <?php
  2.  
  3. $abc = mysql_query('SELECT COUNT(*) FROM players WHERE ...');
  4. list($def) = mysql_fetch_array($abc, MYSQL_NUM);
  5.  
  6. var_dump($def);
  7. ?>
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.