![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, wstawie kod a potem powiem co jest nie tak.
Kod case 'dodaj': autoryzacja(); if(isset($_POST['nick']) and isset($_POST['punkty']) and isset($_POST['punkty2']) and isset($_POST['punkty3']) and isset($_POST['nick2']) and isset($_POST['nick3'])){ if(!mysql_query('INSERT INTO ranking (nick,punkty,nick2,punkty2,nick3,punkty3) VALUES (\''.$_POST['nick'].'\',\''.$_POST['punkty'].'\',\''.$_POST['nick2'].'\',\''.$_POST['nick3'].'\',\''.$_POST['punkty2'].'\',\''.$_POST['punkty3'].'\',)',$db)){ echo ' <b>ERROR: Blad podczas dodawania rekordu.</b> '; }else{ echo ' <b>Wpis zostal dodany</b> '; } } echo ' <a href="'.$_SERVER['PHP_SELF'].'">Powrot</a> '; echo ' Wypelnij pola <form action="'.$_SERVER['PHP_SELF'].'?edytuj=dodaj" method="POST"> <table><tr><td>Miejsce</td><td>Nick</td><td>Punkty</td></tr> <tr><td>1</td><td><input type="text" name="nick" value=""></td><td><input type="text" name="punkty" value=""></td></tr> <tr><td>2</td><td><input type="text" name="nick2" value=""></td><td><input type="text" name="punkty2" value=""></td></tr> <tr><td>3</td><td><input type="text" name="nick3" value=""></td><td><input type="text" name="punkty3" value=""></td></tr> </table> <input type="submit" value="Dodaj"> </form>'; Jest to czesc skryptu rankingu graczy. Kiedy w formularzu na stronie wpisuje nicki u punkty to sie nie wysyla do bazy mysqli wyswietla ERROR: Blad podczas dodawania rekordu. Prosze o pomoc. I jeszcze jedno, jak wysylam nick z punktami na serwer, to chcialbym aby to nadpisalo jesli takowy gracz juz jest, bo z tego co slyszalem tworzy oddzielny nick i punkty. Ten post edytował Adzik1992 23.07.2008, 10:21:58 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 4 Dołączył: 27.07.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
wszędzie masz "AND" czyli i w warunku zmień na "OR"
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
nie pomoglo, moze dam caly skrypt?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 326 Pomógł: 121 Dołączył: 23.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W tej linii zamieniona masz kolejnosc nick3 i punkty2 - prawdopodobnie punkty sa typu INT a zapisujesz do nich STRING Zobacz
Pomocne tez bedzie, jezli zobaczysz, jaki blad zwraca baza danych:
Zamien na
Ten post edytował ddiceman 23.07.2008, 13:01:53 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 4 Dołączył: 27.07.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ja bym zmienił jeszcze jedno :
Kod case 'dodaj': autoryzacja(); if(isset($_POST['nick']) and isset($_POST['punkty']) or isset($_POST['nick2']) and isset($_POST['punkty2']) or isset($_POST['nick3']) and isset($_POST['punkty3'])){ if(!mysql_query( "INSERT INTO ranking (`nick`,`punkty`,`nick2`,`punkty2`,`nick3`,`punkty3`) VALUES (".$_POST['nick'].",".$_POST['punkty'].",".$_POST['nick2'].",".$_POST['punkty2'].",".$_POST['nick3'].",".$_POST['punkty3'].",)",$db)){ nikt tego nie widzi ![]() Kod if(!mysql_query( "INSERT INTO ranking (`nick`,`punkty`,`nick2`,`punkty2`,`nick3`,`punkty3`) VALUES (".$_POST['nick'].",".$_POST['punkty'].",".$_POST['nick2'].",".$_POST['punkty2'].",".$_POST['nick3'].",".$_POST['punkty3'].",)",$db)) powinno być tak Kod if(!mysql_query( "INSERT INTO ranking (`nick`,`punkty`) VALUES (".$_POST['nick'].",".$_POST['punkty']."),$db)) tabela w bazie ma tylko dwa pola a chce dodac sześć ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pokazało mi
Kod 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 ')' at line 1
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 326 Pomógł: 121 Dołączył: 23.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat tabela w bazie ma tylko dwa pola a chce dodac sześć Skad to wiadomo? Poza tym pomysl z OR przy sprawdzaniu warunku chyba tutaj nie ma sensu - rekord powinien zostac dodany do bazy danych, jezeli zdefiniowane sa wszystkie pola, co oznacza, ze AND bylo jak najbardziej poprawne. Czy moglbys jeszcze raz linie, ktora Ci podalem
zamienic na
pozwoli to zobaczyc pelne zapytanie kierowane do bazy danych Ten post edytował ddiceman 23.07.2008, 13:52:50 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
juz tam ok, tylko cos nie tak z aktualizacja wynikow
Kod case 'dodaj':
autoryzacja(); if(isset($_POST['nick']) and $_POST['punkty'] ) { $query="SELECT * FROM ranking where nick = '".$_POST['nick']."'"; $result = mysql_query($query,$db); $ile=mysql_num_rows($result); if ($ile>0) { while($row=mysql_fetch_array($result)) { echo $id_user=$row['id']; } mysql_query('UPDATE ranking set (punkty) = (\''.$_POST['punkty'].'\' where id=$id_user)',$db); } else { mysql_query('INSERT INTO ranking (nick,punkty) VALUES (\''.$_POST['nick'].'\',\''.$_POST['punkty'].'\')',$db); } } |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pokazuję gdzie:
...i mówię że jest problem z apostrofami/cudzysłowami... jaki konkretnie i jak go naprawić to już pozostawiam tobie... |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak? Teraz tak:
Ten post edytował Adzik1992 23.07.2008, 17:54:12 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak? Nawiasy to swoją drogą (z resztą o nich zapomniałem)... Ale widzę że problem leży głębiej... O takie znaczki mi chodziło: Apostrof -> ' Cudzysłów -> " I teraz dokształcić się które jak działa.... Teraz tak: Teraz to już całkiem źle... :/ Ten post edytował nowotny 23.07.2008, 18:01:02 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 00:07 |