Warum ist es wichtig, Daten vor der Speicherung in einer Datenbank mit mysql_real_escape_string zu behandeln?

Es ist wichtig, Daten vor der Speicherung in einer Datenbank mit mysql_real_escape_string zu behandeln, um SQL-Injection-Angriffe zu verhindern. Durch die Verwendung dieser Funktion werden Sonderzeichen in den Daten maskiert, sodass sie nicht als Teil eines SQL-Befehls interpretiert werden können. Dadurch wird die Sicherheit der Datenbank verbessert und die Integrität der gespeicherten Daten gewährleistet.

// Verbindung zur Datenbank herstellen
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = mysqli_connect($servername, $username, $password, $dbname);

// Daten bereinigen und in die Datenbank einfügen
$name = mysqli_real_escape_string($conn, $_POST['name']);
$email = mysqli_real_escape_string($conn, $_POST['email']);

$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

if (mysqli_query($conn, $sql)) {
    echo "Daten erfolgreich gespeichert";
} else {
    echo "Fehler beim Speichern der Daten: " . mysqli_error($conn);
}

// Verbindung zur Datenbank schließen
mysqli_close($conn);