Autor Zpráva
Generation
Profil *
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
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 *
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());
    }

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: