Literunner: Variable als Text behandeln?

Moinsen,

es geht um die Sicherheit von $_POST bzw. $_GET.
Alle $_POST/$_GET Daten werden bei mir auf richtigkeit geprüft (Validiert).
Falls ein wert nicht stimmt, wird der User gesperrt.

Ich möchte gerne, den Falschen wert (MYSQL Injection etc.) ohne Probleme in der Datenbank speichern. So das der Falsche wert bzw, MYSQL Injection etc. nicht ausgeführt wird.

Beispiel:

if(!preg_match("/^[a-zA-Z0-9]+$/s",$_POST['code'])){  
    db_query('User wird gesperrt');  
    db_query('INSERT INTO `test_kontosperre` (`id`, `grund`) VALUES ('.$id.', "'.'Variable code veraendert '.$_POST['code'].'")');  
    die("Du wurdest gesperrt");  
}  

Wenn $_POST['code'] jetzt eine MYSQL Injection enthält. Wird diese ja Sicherlich ausgeführt.
Und genau das möchte ich verhindern.
Der Wert soll ohne Probleme gespeichert werden.
So das die MYSQL Injection nicht ausgeführt wird, aber trotzdem als Text gespeichert wird.
Ist das möglich?

Ansonsten werde ich die Daten, in eine TXT auslagern.

  1. Tach!

    Der Wert soll ohne Probleme gespeichert werden.

    Siehe Kontextwechsel.

    dedlfix.