Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bład w zapytaniu Mysql!
Forum PHP.pl > Forum > Bazy danych > MySQL
Mefisto_87
otóż mam klase
Kod
public function __construct ($pId)
    {
        $info = mysql_fetch_assoc(mysql_query("SELECT * FROM players WHERE id=".$pId)) or die("blad zapytania");
        $this -> id = $info['id'];
        $this -> nick = $info['nick'];
        $this -> pass = $info['pass'];
        $this -> email = $info['email'];..... i tak dalej
    .....
    }

wyskakuje mi błąd zapytania mimo ze na innym serwerze klasa działała poprawnie o co może chodzić proszę o pomoc jeśli ktoś ma pomysł

oto cały błąd

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in class/Class.Player.php on line 48
blad zapytania
wookieb
Przekazujesz niepoprawny parametr $pId. Wyświetl go sobie i popraw jego przekazywanie przy tworzeniu klasy.
Dodaj TAG do nazwy tematu i używaj bbcode
Mefisto_87
tak ale chodzi o to,że wcześniej klasa działała więc czemu teraz nie działa i w jaki sposób poprawić jego przekazywanie questionmark.gif
wookieb
No np w sprawdzić jak tworzysz egzemplarz tej klasy? Lecz jak znam życie to pewnie chodzi o register_globals (tam miales wlaczone tu wylaczone) i wystarcze poprostu stosowac tablice superglobalne $_POST, $_GET
Pokaz jak tworzysz egzemplarz i skad sie bierze pid.
Mefisto_87
Kod
Class Player
{
    public $id;
    public $nick;
    public $pass;
    public $email;
...
}


Nie wiem czy to oto ci chodziło??..Jesli chodzi o register globals to miałem na serwerze na wył ale wł i tez nic
wookieb
...
tworzenie egzemplarza to np
Kod
new Player($id);
Mefisto_87
aha no to mam w innym pliku w ten sposób

Kod
$pl = getUserData($_SESSION['email'], $_SESSION['pass']);
if (!isset($pl['id']))
{
echo('Niema takiego gracza!');
}
require_once 'class/Class.Player.php';
$player = new Player($pl['id']);
wookieb
Wyświetl sobie
Kod
print_r($pl);


Po drugie wywal "or die(...)" i po tym wstaw
Kod
echo mysql_error();

I teraz jak poczytasz ze zrozumieniem i troche się wysilisz to już znajdziesz odpowiedź.
Mefisto_87
Kod
ysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in [b]class/Class.Player.php[/b] on line [b]48[/b]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


nie wyświetla w ogóle tego $pl .. nie wiem mógłbyś mnie bardziej nakierować ?
wookieb
Wyświetl sobie zapytanie i sprawdz skad ci sie bierze zmienna $pl i co robi funkcja ktora ci ja zwraca.
Mefisto_87
Kod
function getUserData ($email, $pass)
{
    return mysql_fetch_assoc(mysql_query("SELECT id, lpv FROM players WHERE email='".$email."' AND pass='".hexPass($pass)."'"));
}


zmiennej $pl przypisuje funkcje getUser która zwraca mi tablice asocjacyjną i z niej pozniej wybieram $pl['id']
wookieb
Tak trudno sprawdzic tresc zapytania? No stary. Naucz sie szukac bledow. Zobacz zapytanie. Zobacz jakie parametry przychodza. Posprawdzaj. Czasy kryzysu, sa raczke juz sie nie prowadzi.
Mefisto_87
ok temat do zamknięcia miałem błąd w sesji
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.