Function does not exist

Asix

Mitglied
Abend,

ich arbeite gerade an einem Gästebuch und will dieses jetzt u.a. via mysql_real_escape_string() absichern.

Mein Query um die Daten in die Datenbank einzufügen sieht momentan so aus:
PHP:
$sql = "INSERT INTO guestbook (Name, Email, Nachricht) VALUES (mysql_real_escape_string($Name), '$Email', '$Nachricht')";

Wenn jetzt das Script ausgeführt wird erscheint foldender Fehler:
Code:
FUNCTION guestbook.mysql_real_escape_string does not exist

Wobei geustbook mein Tabellennamen ist.
Warum kommt es zu diesem Fehler?

Hoffe ihr könnt mir helfen.

Gruß Asix
 
mysql_real_escape_string ist eine PHP-Funktion:

PHP:
$sql = "INSERT INTO `guestbook` (`Name`, `Email`, `Nachricht`) VALUES ('".mysql_real_escape_string($Name)".', '$Email', '$Nachricht')";
 
WOW Danke das war ja mal richtig fix ;)

Allerdings wird bei deiner Version folgender Fehler ausgegeben:
Code:
Parse error: syntax error, unexpected '"' in C:\xampp\htdocs\Guestbook\guestbook.php  on line 43
Wenn ich das jetzt richtig verstanden habe wird die Funktion als Teilstring angehängt oder?
Wenn dies so ist dann könnte man doch die doppelten Anführungszeichen vor und nach dem String weglassen koder? (Dann funktioniert auch alles)
 
Super, funktioniert!

Wenn ich jetzt alle 3 Variablen damit bearbeite, ist dann ein guter Schutz gegen Injections gegeben?

Gruß
 
Ja. Was du aber noch machen solltest ist zu schauen, ob $Email wirklich eine Mailaddresse ist. Das kannst du z.B. mit regulären Ausdrücken (einfach mal :google:n).
 
An das bin ich bisher noch nicht herangeangen, weil ich das ganze moderiert aufbauen will. Aus dem einen Grund, weil ich als Webmaster ja für die Einträge verantwortlich bin.
Aber ich werds noch einbauen, danke für den Tip ;)
 
Zurück