Hallo,
ich habe dir mal ein paar Punkte aufgeschrieben:
1. Die mysql-Funktionen sind
veraltet, daher solltest du
mysqli oder
pdo nutzen.
2. Du solltest den Inhalt überprüfen. Beispielsweise durch
RegExp oder andere Funktionen, um SQL-Injections und andere Fehler zu vermeiden.
3. Um den Code übersichtlicher zu machen, würde ich dir empfehlen, dass du die Funktionen, die du in das SQL-Statement geschrieben hast, in Variablen schreibst. Damit du nur das schreiben musst:
(Variablen: $email, $nachricht vor dem $sql definieren)
PHP:
$sql = "INSERT INTO table_name (email, text, datum) VALUES ('$email', '$nachricht', NOW())";
4. Ich verstehe leider nicht was du mit diesem Code bezwecken wolltest:
- Du legst in $sql das SQL Statement zum Eintragen in die Datenbank fest.
- Das SQL Statement wird verarbeitet (->Daten werden in die Datenbank eingetragen).
- Du fragst ab, wie viele Zeilen betroffen sind (->Vom Eintragen).
- Wenn fünf Zeilen betroffen sind, sollen die Daten nochmal eingetragen werden.
Ich denke, dass das nicht so gewollt war...
Daher solltest du wie folgt vorgehen:
Bevor du die Daten in die Datenbank einträgst, musst du abfragen, wie viele Beiträge mit der E-Mail verfasst wurden.
Das erreichst du durch ein
SELECT Statement.
Nachdem diese Abfrage verarbeitet wurde, kannst du mit der Funktion
mysqli_num_rows() oder
mysqli_affected_rows() die Anzahl der zutreffenden Zeilen ermitteln.
(Ich empfehle dir mysqli_num_rows())
Nun kannst du durch if-Abfragen das weitere Vorgehen planen.
Später kannst du dann mysqli_affected_rows() anwenden, um zu überprüfen, ob dein
INSERT INTO Statement verarbeitet wurde.
Ich hoffe ich konnte dir etwas weiterhelfen.
MfG