EKKi: mysql_query richtig escapen

Beitrag lesen

Mahlzeit,

$eingabe = mysql_query("insert into kunden values("$_POST['geschlecht'],$_POST['name'],$_POST['vorname'],'25'"),$connect);

Richtiger und IMHO besser (weil übersichtlicher):

  
$query = sprintf("INSERT INTO kunden VALUES ('%s', '%s', '%s', '25')",  
                 htmlspecialchars($_POST['geschlecht']),  
                 htmlspecialchars($_POST['name']),  
                 htmlspecialchars($_POST['vorname']));  
$eingabe = mysql_query($query, $connect);

Mach ich was beim escapen falsch

Ja.

und muss ich die Felder angeben vor values, oder nur wenn es bestimmte Felder sind???

Nur wenn Du nicht alle Felder mit Werten füllen willst (weil das DBMS dann ja nicht weiß, welche Du meinst). Wenn in alle Felder etwas reinschreiben willst, kannst Du auch nur die Werte in der Reihenfolge, in der die Felder in der Tabelle existieren, angeben - das DBMS ordnet das dann automagisch richtig zu.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|