Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Bład w zapytaniu Mysql!, mysql_fetch_assoc(): supplied argument is not a valid MySQL result res
Mefisto_87
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 24.11.2008

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


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


Ten post edytował Mefisto_87 23.02.2009, 17:48:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Przekazujesz niepoprawny parametr $pId. Wyświetl go sobie i popraw jego przekazywanie przy tworzeniu klasy.
Dodaj TAG do nazwy tematu i używaj bbcode

Ten post edytował wookieb 23.02.2009, 15:35:52
Go to the top of the page
+Quote Post
Mefisto_87
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 24.11.2008

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


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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.

Ten post edytował wookieb 23.02.2009, 18:03:36
Go to the top of the page
+Quote Post
Mefisto_87
post
Post #5





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 24.11.2008

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


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
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




...
tworzenie egzemplarza to np
Kod
new Player($id);
Go to the top of the page
+Quote Post
Mefisto_87
post
Post #7





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 24.11.2008

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


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']);


Ten post edytował Mefisto_87 23.02.2009, 18:33:15
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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ź.
Go to the top of the page
+Quote Post
Mefisto_87
post
Post #9





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 24.11.2008

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


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ć ?
Go to the top of the page
+Quote Post
wookieb
post
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Wyświetl sobie zapytanie i sprawdz skad ci sie bierze zmienna $pl i co robi funkcja ktora ci ja zwraca.
Go to the top of the page
+Quote Post
Mefisto_87
post
Post #11





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 24.11.2008

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


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']
Go to the top of the page
+Quote Post
wookieb
post
Post #12





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.
Go to the top of the page
+Quote Post
Mefisto_87
post
Post #13





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 24.11.2008

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


ok temat do zamknięcia miałem błąd w sesji

Ten post edytował Mefisto_87 26.02.2009, 17:42:46
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: 23.08.2025 - 10:03