Sven Rautenberg: MySQL - Gästebuch

Beitrag lesen

Aloha!

Okay... das klingt sehr gut, danke! Für was ist denn aber add_slashes() bzw. magic_quotes?

Das schützt deine Datenbank!

Wenn als Text folgender String kommt:
Wie geht's?

Und du das in den SQL-String einbaust:
$sqlinsert="INSERT INTO tabelle (text) VALUES ('$textarea')";
dann wird folgender String daraus:
$sqlinsert="INSERT INTO tabelle (text) VALUES ('Wie geht's?')";
Und du hast ein Anführungszeichenproblem hier ----------^

Das Anführungszeichen muss geschützt werden, indem ein Backslash davor gesetzt wird. Genau das erledigt add_slashes() als Funktion. Das ist aber meist unnötig, wenn die Option "magic_quotes" aktiv ist, dann setzt PHP die Backslashes automatisch vor jedes ' und ".

Eine ganz andere Frage: Kann ich irgendwie z.B. mit einer if Bedingung abfragen, ob in der Datenbanktabelle überhaupt Datensätze vorhanden sind und dann eventuell eine Meldung geben falls nicht...?

Klar. Dazu musst du die Datenbank abfragen und etwas SELECTieren. Die Anzahl der Ergebnisse liefert die Funktion mysql_num_rows(). Das Ergebnis wird 0 sein, wenn nichts gefunden wurde, und -1, wenn ein Fehler aufgetreten ist.

- Sven Rautenberg