Jak inkrementować lub dekrementować wartość mysql w jednym zapytaniu ?

Z Podręcznik Administratora by OPZ SGU
Wersja z dnia 17:23, 15 lut 2018 autorstwa Adminka23 (dyskusja | edycje) (Zastępowanie tekstu - "</source>" na "</pre>")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Czasami zachodzi konieczność stworzenia szybkiego licznika, w tym celu wystarczy

Czyste zapytanie mysql

UPDATE tabela SET licznik=licznik+1 WHERE id=5


Zapytanie z PDO

Inkrementacja

$sql = "UPDATE tabela SET licznik=licznik+1 WHERE id=:id";
$st = $dbh->prepare($sql);
$st->bindParam(":id",$test['id']);
$st->execute();

Dekrementacja

$sql = "UPDATE tabela SET licznik=licznik-1 WHERE id=:id";
$st = $dbh->prepare($sql);
$st->bindParam(":id",$test['id']);
$st->execute();