Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] UPDATE nie chce działać
Forum PHP.pl > Forum > PHP
Oscar_83
Witam
Próbuje zrobić skrypt który po wpisaniu wyniku ze spotkania sam doda do tabeli dane takie jak: mecze rozegrane, punkty, bramki strzelone, stracone itp.
mam taki problem, za pomocą explode() wyciągam sobie i przypisuje do zmiennych drużyne1, drużyne2, bramki pierwszej drużyny, bramki drugiej drużyny, wyświetlam print_r i jest wszystko oki - wszystkie zmienne dobrze przydzielone, potem łączę się z bazą danych wyszukuje wszystkich danych dla drużyny pierwszej i w tym miejscu wywala mi błąd
Parse error: syntax error, unexpected T_VARIABLE in c:\usr\apache\httpd\html\index.php on line 22

proszę o pomoc bo nie mogę sobie z tym poradzić

  1. <?php
  2. $wyniki=" Start Nidzica-Warmiak Łukta 4-3";
  3.  
  4. $wyniki_ok = trim($wyniki);
  5. $druzyny=explode("-", $wyniki_ok);
  6. $druzyna_nr=explode(" ", $druzyny[1]);
  7. $bramki=explode(" ",$druzyny[1]);
  8.  
  9. //przypisanie odpowiednik danych do zmiennych
  10. $druzyna1 = $druzyny[0];
  11. $druzyna2 = $druzyna_nr[0]." ".$druzyna_nr[1];
  12. $bramka1 = $bramki[2];
  13. $bramka2 = $druzyny[2];
  14.  
  15.  
  16. $polaczenie = mysql_connect("mysql2.yoyo.pl", "db396325", "***") or die("SprawdĽ połączenie z serwerem");
  17. mysql_select_db("db396325",$polaczenie);
  18. mysql_query('SET NAMES latin2');
  19.  
  20.  
  21. if ($bramka1 > $bramka2)
  22. $query = "SELECT * FROM tabela WHERE druzyna = '`"$druzyna1"`'";
  23. $result = mysql_query($query, $polaczenie) or die (mysql_error());
  24. $row = mysql_fetch_array($result);
  25. $mecze = $row['mecze'];
  26. $wygrane = $row['wygrane'];
  27. $strzelone = $row['strzelone'];
  28. $stracone = $row['stracone'];
  29. $punkty = $row['punkty'];
  30. $strzelone1 = $strzelone + $bramka1;
  31. $stracone1 = $stracone + $bramka2;
  32. $bramki = $strzelone1 - $stracone1;
  33.  
  34.  $query = ("UPDATE tabela SET mecze='`"$mecze + 1"`', wygrane='`"$wygrane + 1"`', bramki='`"$bramki"`', strzelone='`"$strzelone1"`', stracone='`"$stracone1"`', punkty='`"$punkty + 3"`'");
  35.  $results = mysql_query($query)
  36.  or die (mysql_error());
  37. ?>
kossa
Jak mówi błąd, linia 22 popraw:
  1. <?php
  2. $query = "SELECT * FROM tabela WHERE druzyna = '$druzyna1'";
  3.  
  4. //a jeżeli $drużyna1 w bazie to pole typu int to szybciej zadziała zapytanie
  5.  
  6. $query = "SELECT * FROM tabela WHERE druzyna = $druzyna1";
  7. ?>


Poza tym jeśli nie używasz nawiasów klamrowych po if to interpreter php sprawdza w warunku tylko pierwszy wiersz po if a resztę wykonuje nie zwracając co warunek zwróci więc u Ciebie wszystko co masz po if ($bramka1 > $bramka2) zawsze się wykona oprócz pierwszej linii - właśnie zapytanie tego gdy $bramka1 <= $bramka2 i będziesz miałe wtedy kolejne błedy tym razem zwrócone z mysql

w całym ifie dodaj klamry

  1. <?php
  2. if ($bramka1 > $bramka2)
  3. {
  4. //kod 
  5. }
  6. ?>



Łukasz
Oscar_83
Poprawiłem wszystko i teraz wyskakuje mi błąd
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 'WHERE druzyna='Warmiak Łukta'' at line 1
Michu
hm.. to może problem z czytaniem polskich znaków? sprawdź ten kod bez polskich znaków.
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.