Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Resource id #10
Forum PHP.pl > Forum > Przedszkole
ArthaS_Delano
Mam problem, pisze sobie prosta strone korzystajaca z mysql i smarty..

Mam jednak problem z wyciagnieciem danych z bazy.. Mam juz dzialajacy skrypt logowania i korzystam z jego pliku database.php z polaczeniem do bazy danych.. Wszystko jest poprawne gdyz skrypt rekestruje i loguje poprawnie.. Mam w bazie tabele users i w niej id, username, password, rank..


DATABASE.PHP

  1. <?php
  2. $conn = mysql_connect("mysql2.yoyo.pl", "db", "") or die(mysql_error());
  3. mysql_select_db('db', $conn) or die(mysql_error());
  4.  
  5. ?>


PLAYER.PHP

  1. <?php
  2. include("database.php");
  3. include("alogin.php");
  4.  
  5. require('libs/Smarty.class.php');
  6.  $smarty = new Smarty;
  7.  
  8. global $conn;
  9.  
  10. $q = "select rank from users where username = '$username'\"; /* tu chce wczytac jaki rank ma dany user*/
  11. $result = mysql_query($q,$conn);
  12.  
  13.  
  14. if($logged_in){
  15.  $smarty -> assign('user', $_SESSION[username]);
  16.  $smarty -> assign('rank', $result); /* tu chce przypisac rank by wyswietlic go na stronie*/
  17.  }
  18. ?>


HEAD.PHP

  1. <?php
  2. include("database.php");
  3. include("include/player.php");
  4.  
  5.  
  6.  
  7.  
  8.  /*Wywołanie szablonu*/
  9.  $smarty -> display('head.tpl'); //Wywołujemy szablon do kompilacji
  10.  
  11.  
  12. ?>


HEAD.TPL

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  6. <meta name="Description" content="Tu wpisz opis zawartości strony" />
  7. <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
  8. <title>Tu wpisz tytuł strony</title>
  9. <link rel="Stylesheet" href="css/style.css">
  10. </head>
  11. <br>
  12. <table align="center" width="800" cellspacing="0" cellpadding="0" border="3">
  13. <tr>
  14. <td bgcolor="black" background="logo.jpg" colspan="0" height="150"></td>
  15. </tr>
  16. <tr>
  17. <td bgcolor="black" colspan="0" height="15"><marquee>Info o grze</marquee></td>
  18. </tr>
  19. <tr>
  20. <td background="images/site/tlo_menu_left.jpg" width="210" height="500" valign="top">
  21. <br><br>
  22. <center><b>M E N U</b></center>
  23. <br>
  24. {$rank}</br>
  25. {$user}
  26. <center><a href="register.php">Rejestracja</a></center>
  27. <center><a href="login.php">Zaloguj</a></center>
  28. </td>


{$user} wyswietla sie prawidlowo
{$rank} wyswietla sie "Resource id #10"

Jesli potrzeba jesczze jakis kod to go podam.. Bardzo prosze o pomoc, prawdopodbnie zle zczytuje z bazy danych ale nie wiem juz jak powinno byc poprawnie, w google tego bledu nie znalazlem, na forum tez nie doszukalem sie podobnego problemu.. Z gory bardzo dziekuje za pomoc..
tsharek
mysql_query nie wystarczy. zapoznaj się z mysql_fetch_row" title="Zobacz w manualu PHP" target="_manual
ArthaS_Delano
Dalem tak ale teraz nic nie wyswietla ... Nie ma ani bledu ani poprawnego ranku ...

  1. <?php
  2. include(&#092;"database.php\");
  3. include(&#092;"alogin.php\");
  4.  
  5. require('libs/Smarty.class.php');
  6.  $smarty = new Smarty;
  7.  
  8. global $conn;
  9.  
  10. $result = mysql_query(&#092;"select rank from users where username = '$username'\");
  11. $row = mysql_fetch_row($result);
  12.  
  13.  
  14. if($logged_in){
  15.  $smarty -> assign('user', $_SESSION[username]);
  16.  $smarty -> assign('rank', $row[0]);
  17.  }
  18. ?>


EDIT:

Uzycie tego

  1. <?php
  2. if (!$result) {
  3.  echo 'Nie można uruchomić zapytania: ' . mysql_error();
  4.  exit;
  5.  }
  6. ?>


Wykazalo ze nie wczytalo wogole nic z bazy.. Bo nie mozna uruchomic zapytania..
mike
Cytat(ArthaS_Delano @ 14.09.2007, 17:47:09 ) *
Wykazalo ze nie wczytalo wogole nic z bazy.. Bo nie mozna uruchomic zapytania..
Zacytuj dokładnie to co dostajesz.
Tym "tłumaczeniem" nic nie wnosisz.
ArthaS_Delano
Przeciez w poscie wyzej podalem tresc pliku i komunikat bledu ktory pojawia sie gdy "!$results" wiec nie wiem co wiecej wytlumaczyc.. Prawdopodobnie nie pobiera mi nic z bazy dlatego "$results" jest puste..
mike
Podaj dosłowną treść komunikatu jaki dostajesz tongue.gif
ArthaS_Delano
Tam gdzie chcialbym by wyswietlal sie rank nie pisze nic wiec pomyslalem ze moze nie pobiera z bazy wiec dalem ten kod by to sprawdzic:

  1. <?php
  2. if (!$result) {
  3.  echo 'Nie można uruchomić zapytania: ' . mysql_error();
  4.  exit;
  5.  }
  6. ?>


i moje przypuszczenia sie sprawdzily.. na mysql nie znam sie az tak dobrze wiec prawdopodbnie moj blad polega na zlym wczytywaniu lub przetwarzaniu zmiennych z bazy.. szukalem pomocy w kursach mysql ale mi nic to nie dalo.. niby all pisze dobrze lecz wyswietlim sie nie chce lub pokzuje sie tekst "Resource id #10" w miesjcu gdzie powinien pokazac albo id albo rank czyli member bo probowalem juz rozne rzeczy z tabeli wywolac..
tsharek
zobacz tak:
  1. <?php
  2. $result = mysql_query('select rank from users where username = ''.$_SESSION['username'].''');
  3. ?>
ArthaS_Delano
Kiedy daje to:

  1. <?php
  2. $result = mysql_query('select rank from users where username = '.$_SESSION['username'].'');
  3. $row = mysql_fetch_row($result);
  4.  
  5.  
  6. if($logged_in){
  7.  $smarty -> assign('user', $_SESSION[username]);
  8.  $smarty -> assign('rank', $row[0]);
  9.  }
  10. ?>


pokazuje sie blad

Kod
[b]Warning[/b]:  mysql_fetch_row(): supplied argument is not a valid MySQL result resource in [b]/var/www/sites/yoyo.pl/d/r/dragonsland/include/player.php[/b] on line [b]10


Szukalem po roznych kursach ale chyba all wpisuje dobrze wiec nie wiem co ten blad moze znaczyc..

Prosze o pomoc bo wyprobowalem juz wszelkie mozliwosci a bez poprawnego wczytywania danych z bazy nie moge zrobic zupelnie nic..

Z gory bardzo dziekuje..
[/b]
Romskey
Trafiło się mi resource id#2 - trochę pokombinowałem i wiem co oznacza .
Otoż baza może działać przy tym błędzie jednak jest to jak widać dla bazy problem.
Resource id w moim przypadku pokazało się gdy 2-krotnie zdefiniowałem w obszarze
jednego zapytania wartosć tej samej zmiennej
a dokładnie wyglądało to tak :


id_typ='$id_typ';
cat='$cat';
...
...
...
...
WHERE id_typ='id_typ'

Usunięcie pierwszego wpisu przywróciło poprawne dzialanie .

Jak widzę nie wiele odpowiedzi w google o tym stąd ta wzmianka.
melkorm
  1. <?php
  2. $q = "SELECT rank FROM users WHERE username = '$username'";
  3. $result = mysql_query($q , $conn) or die (mysql_error());
  4. $wynik = mysql_fetch_row($result);
  5. var_dump($wynik);
  6. ?>


spróbuj to i wklej błąd MySql'a , lub wartość zwróconą przez var_dump.
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.