Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] UPDATE nie chce działać
Oscar_83
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


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. ?>


Ten post edytował Oscar_83 7.10.2007, 22:06:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


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


--------------------
Go to the top of the page
+Quote Post
Oscar_83
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


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





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 15.10.2006
Skąd: zewsząd :P

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


hm.. to może problem z czytaniem polskich znaków? sprawdź ten kod bez polskich znaków.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:38