Hallo,
ich habe eine für mich sehr verzwicket Sache ich führe mit php folgenden code aus:
$eintrag = "INSERT INTO tabelle1 (text, zaeler) VALUES ('$ausgabe', '$zaeler') ON DUPLICATE KEY UPDATE zaeler
= zaeler
+ 1";
$eintragen = mysql_query($eintrag);
}
der anfällig für [SQL-Injection](http://de.wikipedia.org/wiki/SQL-Injection) ist. Bitte verwende [mysql_real_escape_string()](http://www.php.net/manual/de/function.mysql-real-escape-string.php), um Variableninhalte für den SQL-Kontext aufzubereiten. Mache gegebenenfalls die Auswirkungen des gut gemeinten PHP-Features [Magic Quotes](http://www.php.net/manual/de/security.magicquotes.php) rückgängig.
> Ich möchte aber nun eine weitere Bedinung einfügen:
> // generiere Datum von heute
Dafür gibt es [CURDATE()](http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_curdate) (und Synonyme). Es ist auf jeden Fall eine hervorragende Idee, zum Speichern von Datumsangaben in MySQL den dafür passenden Datentyp DATE zu verwenden.
> `$datum = date("Ymd");`{:.language-php}
> // prüfe ob zum text schon ein eintrag mit dem Datum von heute existiert
> // wenn ja upate den zaeler +1
> // wenn nein lege den Datensatz an.
MySQL bietet Dir dafür [INSERT ... ON DUPLICATE KEY UPDATE](http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html). Sorge daher für einen UNIQUE-Index über die beiden Spalten.
Freundliche Grüße
Vinzenz