Malas 0 Zgłoś post Napisano Kwiecień 4, 2009 Więc piszę sobie skrypt i mam następujący problem. Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in i tutaj sciezka do tego pliku on line 11 zawartosc pliku zawodnik.php (w nim jest ten błąd): <?phprequire_once ('mysql/mysql_connect.php'); // Połącz się z bazą danych. if(!is_numeric($_GET['id'])){ $sql=mysql_query("SELECT id, imie FROM player");//wykonujemy zapytanie while($lista=mysql_fetch_assoc($sql) ){//w tablicę echo '<a href="zawodnik.php?id='.$lista['id'].'">'.$lista['imie'].'</a><br/>';//linki do profili } }else{ $id=$_GET['id']; $player=mysql_query("SELECT imie, nazwisko, kraj, urodzony, miejsce, wzrost, waga, pozycja FROM player WHERE id_usera='$id'"); $player=mysql_fetch_assoc($player); echo 'imie:'.$player['imie']; //i tak resztę tablicy } mysql_close(); // Zamknij połączenie z bazą danych. ?> W strukturze bazy i reszcie skryptu jest wszystko ok. Może osoby bardziej ogarnięte w php mi pomogą Udostępnij ten post Link to postu Udostępnij na innych stronach
Prohost 345 Zgłoś post Napisano Kwiecień 4, 2009 A skąd wiesz, że się połączyłeś z bazą? Udostępnij ten post Link to postu Udostępnij na innych stronach
grzyb3k 0 Zgłoś post Napisano Kwiecień 4, 2009 Może tak zadziała?: <?php require_once ('mysql/mysql_connect.php'); if(!is_numeric($_GET['id'])){ $sql=mysql_query("SELECT * FROM player"); while($lista=mysql_fetch_assoc($sql)){ echo '<a href="zawodnik.php?id='.$lista['id'].'">'.$lista['imie'].'</a><br/>'; } }else{ $id=$_GET['id']; $sql2=mysql_query("SELECT * FROM player WHERE id_usera='".$id."'"); while($player=mysql_fetch_assoc($sql2)) echo 'imie:'.$player['imie']; mysql_close(); ?> Udostępnij ten post Link to postu Udostępnij na innych stronach
Malas 0 Zgłoś post Napisano Kwiecień 4, 2009 A skąd wiesz, że się połączyłeś z bazą? Wcześniej za pomocą /mysql/mysql_connect.php łącze się z bazą w formularzu z którego dane wędrują do bazy..więc łączy się na bank. Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Kwiecień 4, 2009 Wcześniej za pomocą /mysql/mysql_connect.php łącze się z bazą w formularzu z którego dane wędrują do bazy..więc łączy się na bank.Ale głupia odpowiedź $player=mysql_query("SELECT imie, nazwisko, kraj, urodzony, miejsce, wzrost, waga, pozycja FROM player WHERE id_usera='$id'"); if (!$player) { echo mysql_errno() . ": " . mysql_error(); exit; } Udostępnij ten post Link to postu Udostępnij na innych stronach
Malas 0 Zgłoś post Napisano Kwiecień 4, 2009 Ale głupia odpowiedź Nie głupia tylko normalna, zawartość tamtego pliku się nie zmienia, polecenie takie same więc czemu miałby się nie połączyć? Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Kwiecień 4, 2009 Nie głupia tylko normalna, zawartość tamtego pliku się nie zmienia, polecenie takie same więc czemu miałby się nie połączyć? Głupia Ale do sena mysql_fetch_assoc() zwraca Ci warning mówiący, że argumentem nie jest nie ma prawidłowego "result resource" czyli $sql=mysql_query("SELECT * FROM player"); nie daje prawidłowego "result resource" zrób to co napisał p i będziesz wiedział w czym problem. Materiały pomocnicze http://pl.php.net/manual/en/function.mysql-fetch-assoc.php http://pl.php.net/manual/en/function.mysql-query.php Udostępnij ten post Link to postu Udostępnij na innych stronach
MiSi3kK 16 Zgłoś post Napisano Kwiecień 4, 2009 Dokładnie tak jak poprzednicy. Na samo połączenie i wybór bazy nie zapomnij dać jakiegoś 'or die' lub daj na to if i sprawdzaj czy się łączy. Natomiast jeśli chodzi o ten jeden konkretny błąd to nigdzie nie sprawdzasz czy zapytanie wykonało się poprawie. Jeśli będzie błąd, lub zwróci 0 rekordów to będzie wyskakiwał Ci właśnie taki błąd. if($player=mysql_fetch_assoc($player)){ echo 'imie:'.$player['imie']; }else{ echo 'Brak takiego gracza!'; } Udostępnij ten post Link to postu Udostępnij na innych stronach
Malas 0 Zgłoś post Napisano Kwiecień 4, 2009 Zrobiłem 2 plik o nazwie zawodnik2.php z tą treścią co p pisał: <?phprequire_once ('mysql/mysql_connect.php'); // $player=mysql_query("SELECT imie, nazwisko, kraj, urodzony, miejsce, wzrost, waga, pozycja FROM player WHERE id='$id'"); if (!$player) { echo mysql_errno() . ": " . mysql_error(); exit; } mysql_close(); ?> i wyświetla się biała strona czyli rozumiem, że wszystko ok? wcześniej błąd powodowała literówka, którą poprawiłem. No i to chyba był błąd bo teraz całość działa.. dzięki za pomoc kosz Udostępnij ten post Link to postu Udostępnij na innych stronach