Also erstmal danke.^^
Dann eine Verständnissfrage:
mysql_real_escape_string bedeutet also, dass es der Variablen immer einen Wert zuweist und der dadurch nicht auf 0 stehen kann?
zu Punkt 2.:
Edit* schon gut. xDRegards Sucki
mysql_real_escape_string maskiert bestimmte Zeichen in deinem String um SQL-Injection zu verhindern.
Mal ein Beispiel für SQL-Injection:
PHP
<?php
// Datenbankabfrage zur Ueberpruefung der Logindaten
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);
// Wir haben $_POST['password'] nicht geprueft, es koennte also alles darin
// stehen, was der User will. Zum Beispiel:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";
// Das bedeutet, der an MySQL gesendete Query wuerde sein:
echo $query;
?>
Alles anzeigen
Zitat
Die Abfrage, die an MySQL übermittelt wird:SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''