UPDATE `besucher` SET `zahler` = `zahler` + 1;
-- bedeuted:
-- update besucher setze {das was in zahler ist} = {das was in zahler ist} + 1
Das sollte das tun, was Du vorhast. Eigentlich recht einfach. Man muss es aber kennen|mal gesehen haben.
Das rechnen wird hier also dem SQL server überlassen.
Das Ganze hat auch einen großen Vorteil: wenn 2 oder mehr Scripte darauf zugreifen, dann setzten die sich die Werte nicht "kaputt".
Bsp:
Wert in db ist 1.
Script 1 lädt Wert.
Script 2 lädt Wert.
Beide haben den Wert 1.
Script 1 zählt 2 dazu - Wert im Script 1 (PHP seitig) ist nun 3.
Script 2 zählt 1 dazu - Wert im Script 2 (PHP seitig) ist nun 2.
Script 1 updated db: update ... wert = 3
Script 2 updated db: update ... wert = 2
Und hier ham wir den Salat. Beide sollten|wollten hochzählen, haben sich aber gegenseitig überschrieben.
Wird es dem SQL server überlassen:
Script 1 updated db: update ... wert = wert + 2
Wert in db jetzt 3
Script 2 updated db: update ... wert = wert + 1
Wert in db jetzt 4
---
SQL injection ist viel im Netz zu finden.
Du solltest Dich erstmal für eine Sache (mysqli oder PDO, wobei PDO mMn besser ist) entscheiden.
Das dann genauer ansehen und Du wirst feststellen, dass Du immer ::prepare nutzen wirst und (so gut wie) nie eine PHP Variable in die SQl Query schreiben wirst.