phpbar.de logo

Mailinglisten-Archive

[php] Frage zu mysql_real_escape_string()

[php] Frage zu mysql_real_escape_string()

Uli ghostgambler at coding.at
Mon Jan 24 18:42:58 CET 2005


> Ich verstehe [nur noch] nicht, was genau escaped werden muss. Wenn der 
> mysql_query escaped wird, warum dann fread(), fopen() und filesize()

Also, die Funktion musst du eigentlich auf alle Werte anwenden, die du 
in die Klammer hinter VALUES schreibst, d.h. so wie es lautet ist es 
noch nicht ganz perfekt.
Was DEINE f***-Funktionen da sollen, weiß ich doch nicht ^^"


Ich würde es sowieso mit Superglobalen Variablen machen, du verwendest 
die automatisch registrierten Variablen, die sind eigentlich veraltet.

Wenn dein Formular z.B. ein Feld hat
<input type="submit" name="submit" value="submitvalue">
und das Formular per GET abgeschickt wird, dann könntest du wenn das 
obere Beispiel-Feld auch über $_GET['submit'] erreichen.
echo $_GET['submit'];
Ausgabe = submitvalue

Das ist die "aktueller" Version zur Nutzung von Formularen.
Es gibt auch noch die Superglobalen Variablen $_POST, $_COOKIE, $_FILES, 
  $_REQUEST, $_SESSION und $_SERVER gehört auch dazu.

Versuch das Skript mal auf diese Variablen umzustellen, sind eigentlich 
besser.
Deine hochgeladene Datei steckt dann jedoch nicht in $_POST, sowie 
eigentlich zu erwarten, sondern in $_FILES (oder heißt sie 
$_FILE...egal), mach einfach mal da wo du die Datei im Skript benutzt:
echo '<pre>' . print_r($FILES, true) . '</pre>';
Und wenn dann keine Ausgabe kommt versuchst du das:
echo '<pre>' . print_r($FILE, true) . '</pre>';
Wenn dann wieder keine kommt, machst du was falsch ;)
Ich denke du wirst das schon schaffen. Dann kannst du dir auch die 
f***-Funktionen alle sparen! (Wobei ich glaube dass du dir die auch so 
sparen kannst...)

Und beim Query machst du halt einfach (nur als Beispiel!):
'INSERT INTO Beispiel (Spalte1, Spalte2) VALUES("' . 
mysql_real_escape_string($_POST['Spalte1'], $db) . '", "' . 
mysql_real_escape_string($_POST['Spalte2'], $db) . '")'


Achja, mysql_real_escape_string, escaped alles notwendige. Deshalb muss 
man der Funktion auch die Datenbank-Kennung mit übergeben. Die Zeichen 
die escaped werden, werden anhand der Zeichencodierung der Verbindung 
gewählt oder sowas...die hauptsache ist, dass du sie bei der Ausgabe 
nicht wieder entfernen musst ^__^


Bye, Uli


php::bar PHP Wiki   -   Listenarchive