Autor | Zpráva | ||
---|---|---|---|
Generation Profil * |
#1 · Zasláno: 25. 9. 2014, 09:43:44 · Upravil/a: Generation
Zdravím, zkouším v MyAdminu tento dotaz:
UPDATE `hodnoceni` SET `id`,`useres_id`="1",`useres_user`="Generation",`points`="points+5" Where `useres_id`="1" Ale hlásí mi to chybu: #1064 - 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 '`useres_id`="1",`useres_user`="Generation",`points`="points+5" Where `useres_id`="' at line 1 Co dělám špatně? Díky za radu Už vím, nemělo tam být to id Ale chtěl bych ještě s něčím poradit. Já mám udělat následující. Při schválení příspěvku, kouknu do db jestli už existuje hráč v tabulce hodnocení. Pokud ne, vytvořím ho, pokud ano aktualizuji ho. Zkouším následující, ale vždy to vytvoří nový řádek. $points="5"; $exist_hrac = mysql_result(mysql_query("SELECT COUNT(*) FROM hodnoceni WHERE `useres_id`=".$_GET['useres_id']." AND `useres_user`=".$_GET['nick']." "), 0); //neexistuje -> potom ho vytvoříme pomocí insert if($exist_hrac==0){ $import2="INSERT INTO hodnoceni (`id`, `useres_id`, `useres_user`, `points`) VALUES ('$id', '".$_GET['useres_id']."', '".$_GET['nick']."', '$points')"; mysql_query($import2) or die(mysql_error()); } //existuje -> potom ho aktualizujeme pomocí update else { $import="UPDATE `hodnoceni` SET `useres_id`=".$_GET['useres_id'].",`useres_user`=".$_GET['nick'].",`points`='+5' WHERE `useres_id`=".$_GET['useres_id']." "; mysql_query($import) or die(mysql_error()); } |
||
Joker Profil |
#2 · Zasláno: 25. 9. 2014, 10:52:48
Generation:
„ UPDATE `hodnoceni` SET `id`,`useres_id`="1",`useres_user`="Generation",`points`="points+5" Where `useres_id`="1" “
Špatně je to označené, ale kromě toho: Jednak všechna čísla jsou zadaná jako řetězce a jednak skutečně chcete do sloupce points vložit text „points+5“? Ohledně druhého problému, tam je to zase naopak: Kolem řetězců v dotazu chybějí uvozovky. |
||
Generation Profil * |
#3 · Zasláno: 25. 9. 2014, 11:10:00
Joker:
Díky za rady. Toto se zdát být funkční: $points="5"; $exist_hrac = mysql_result(mysql_query("SELECT COUNT(*) FROM hodnoceni WHERE `useres_id`=". intval($_GET['useres_id'])." "), 0); //neexistuje -> potom ho vytvoříme pomocí insert if($exist_hrac==0){ $import2="INSERT INTO hodnoceni (`id`, `useres_id`, `useres_user`, `points`) VALUES ('$id', '". intval($_GET['useres_id'])."', '".mysql_real_escape_string($_GET['nick'])."', '$points')"; mysql_query($import2) or die(mysql_error()); } //existuje -> potom ho aktualizujeme pomocí update else { $import="UPDATE `hodnoceni` SET `points`=points+5 WHERE `useres_id`=".intval($_GET['useres_id'])." "; mysql_query($import) or die(mysql_error()); } |
||
Časová prodleva: 10 let
|
0