Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze zlokalizowaniem błędu
Forum PHP.pl > Forum > PHP
Kildyt
Witam forumowiczów

Mam problem z kodem. Wszystko z niego pięknie działa ale wyskakuje błąd. Oto kod:
  1. <?php
  2. $zapytanie = "SELECT * FROM typertypowanie"; 
  3. $wykonaj = mysql_query($zapytanie);
  4. while($wiersz = mysql_fetch_array($wykonaj))
  5. {
  6. if ($wiersz[yn]=="1") {
  7.  
  8. $sql1 = "SELECT COUNT(*) FROM typerusertyp WHERE login='$_SESSION[login]' AND typ='$wiersz[id]'";
  9. $result1 = mysql_query($sql1);
  10. $ile1 = mysql_fetch_array($result1);
  11. {
  12. if ($ile1[0]=="0") {
  13. } else {
  14. $zapytanietyu = "SELECT * FROM typerusertyp WHERE login='$_SESSION[login]' AND typ='$wiersz[id]'"; 
  15. $wykonajtyu = mysql_query($zapytanietyu);
  16. while($wiersztyu = mysql_fetch_array($wykonajtyu))
  17. {
  18.  
  19.  
  20. // Obliczanie punktów
  21. if ($wiersz['wynik']==$wiersztyu['wynik']) {
  22. $punkty = "3";
  23. } else {
  24.  $punkty = "0";
  25. }
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. $login = $_SESSION['login'];
  33. $mecz = $wiersz['mecz'];
  34. $pwynik = $wiersz['wynik'];
  35. $typ = $wiersztyu['wynik'];
  36.  
  37.  
  38. // Dodawanie raportu o typie do bazy dla danego użytkownika
  39. $zapytanie = "INSERT INTO typeruser SET login='$login', mecz='$mecz', pwynik='$pwynik', typ='$typ', punkty='$punkty'";
  40. $wykonaj = mysql_query ($zapytanie);
  41.  
  42. $idag = $wiersztyu['id'];
  43.  
  44. // Usuwanie typu użytkownika z bazy
  45. $zapytanie = "DELETE FROM typerusertyp WHERE id = '$idag'";
  46. $wykonaj = mysql_query ($zapytanie);
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54. // Aktualizacja punktów dla użytkownika
  55. $zapytaniety = "SELECT * FROM logowanie WHERE login='$_SESSION[login]'"; 
  56. $wykonajty = mysql_query($zapytaniety);
  57. while($wierszty = mysql_fetch_array($wykonajty))
  58. {
  59. $loginpunkty = $wierszty['typer'] + $punkty;
  60. }
  61. $wynik = mysql_query("UPDATE logowanie 
  62. SET typer='$loginpunkty' WHERE login='$_SESSION[login]'");
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. echo '
  70. <center><br><b><font class="red">Aktualizacja statystyk</font></b><br>
  71.  
  72. <font class="text">'.$wiersz['mecz'].'<br>
  73. wynik meczu: '.$wiersz['wynik'].'<br>twój typ: '.$wiersztyu['wynik'].'<br><b>punkty: '.$punkty.'</b></font>
  74.  
  75. </center>
  76. ';
  77.  
  78.  
  79.  
  80. }
  81. }
  82. }
  83. }
  84. }
  85. ?>


Na stronie wyskakuje błąd:
  1. Warning: mysql_fetch_array(): supplied argument IS NOT a valid MySQL result resource IN /home/krystian/www/zamow/1/typer.php ON line 24

Dana linijka kodu (24) to:
  1. <?php
  2. while($wiersz = mysql_fetch_array($wykonaj))
  3. ?>


Zauważyłem, że jeśli z kodu usunę:
  1. <?php
  2. $login = $_SESSION['login'];
  3. $mecz = $wiersz['mecz'];
  4. $pwynik = $wiersz['wynik'];
  5. $typ = $wiersztyu['wynik'];
  6.  
  7.  
  8. // Dodawanie raportu o typie do bazy dla danego użytkownika
  9. $zapytanie = "INSERT INTO typeruser SET login='$login', mecz='$mecz', pwynik='$pwynik', typ='$typ', punkty='$punkty'";
  10. $wykonaj = mysql_query ($zapytanie);
  11.  
  12. $idag = $wiersztyu['id'];
  13.  
  14. // Usuwanie typu użytkownika z bazy
  15. $zapytanie = "DELETE FROM typerusertyp WHERE id = '$idag'";
  16. $wykonaj = mysql_query ($zapytanie);
  17. ?>

to błąd się nie pojawia. Skrypt działa bardzo dobrze, jednak ten błąd się pojawia. Siedzę nad nim i nic nie potrafię wyniuchać. Proszę o pomoc.

P.S. W bazie wszystko gra!
JaRoPHP
Cytat(Kildyt @ 10.03.2007, 08:39:58 ) *
Wszystko z niego pięknie działa ale wyskakuje błąd.
Czyli w sumie nie działa smile.gif.

Wyświetl zapytanie, na przykłąd za pomocą instrukcji echo" title="Zobacz w manualu PHP" target="_manual i zobacz, czy masz wszystkie zmienne, dodatkowo polecam korzystać z funkcji mysql_error" title="Zobacz w manualu PHP" target="_manual, która wyjaśnia co nieco:
  1. <?php
  2. $zapytanie = "SELECT * FROM typertypowanie"; 
  3. echo $zapytanie;
  4. $wykonaj = mysql_query($zapytanie) or die(mysql_error());
  5. ?>
Jeśli to tu pojawił się błąd, to czy w wybranej bazie na pewno istnieje tabela: typertypowanie?
Kildyt
Dodałem wszędzie mysql_error i nic nie daje.

Chodzi o to że kod wyskakuje ale wszystko działa poprawnie, tak jak chcę. Hmm, jest jakaś możliwość aby nie wyświetlało ewentualnego błędy?
Cienki1980
Dzieje się tak bo nadpisujesz sobie zmienną $wykonaj z początku skryptu w linijce 40 i 46. Zmień nazwy tamtych zmiennych i wszystko powinno się poprawić.
Kildyt
Wielkie THX. Działa!
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.