Jak inkrementować lub dekrementować wartość mysql w jednym zapytaniu ?: Różnice pomiędzy wersjami

Z Podręcznik Administratora by OPZ SGU
Przejdź do nawigacji Przejdź do wyszukiwania
m
m (Zastępowanie tekstu - "</source>" na "</pre>")
 
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
Linia 2: Linia 2:


Czyste zapytanie mysql
Czyste zapytanie mysql
<source lang="php">
<pre>
UPDATE tabela SET licznik=licznik+1 WHERE id=5
UPDATE tabela SET licznik=licznik+1 WHERE id=5
</source>
</pre>




Linia 10: Linia 10:


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


Dekrementacja
Dekrementacja


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


[[Category:MySQL]]
[[Category:MySQL]]
[[Category:PHP]]
[[Category:PHP]]

Aktualna wersja na dzień 17:23, 15 lut 2018

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();