Marco: $_FILE in DB speichern

Hallo zusammen

wenn ich mein INSERT mit $_FILE ergänze macht es mir keinen Eintrag mehr in der DB. Es liegt jrgendwie an den '-Zeichen.

Hat jemand eine Idee wie ich das umschreiben muss.

$eintrag = "INSERT INTO Daten (bildername, suchwoerter, datei) VALUES ('$_POST[bildername]', '$_POST[suchwoerter]', '$_FILES['datei']['name']')";

Danke für Eure Hilfe!

Marco

  1. hi,

    wenn ich mein INSERT mit $_FILE ergänze macht es mir keinen Eintrag mehr in der DB. Es liegt jrgendwie an den '-Zeichen.

    "Irgendwie"?

    mysql_error

    Hat jemand eine Idee wie ich das umschreiben muss.

    $eintrag = "INSERT INTO Daten (bildername, suchwoerter, datei) VALUES ('$_POST[bildername]', '$_POST[suchwoerter]', '$_FILES['datei']['name']')";

    http://www.php.net/manual/de/language.types.string.php#language.types.string.parsing

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi wahsag

      danke für die referenz!

      cool so gehts {$_FILES['datei']['name']}

      danke!

  2. echo $begrüßung;

    Ah, wieder ein Beispiel, wie man es nicht machen sollte. Leider gibt es davon schon zu viele.

    $eintrag = "INSERT INTO Daten (bildername, suchwoerter, datei) VALUES ('$_POST[bildername]', '$_POST[suchwoerter]', '$_FILES['datei']['name']')";

    Mal abgesehen von der {}-Problematik, hast du dir mal überlegt, was passiert, wenn jemand in das Eingabefeld ein ' eingibt und das Feature Magic Quotes (aus gutem Grund) nicht aktiviert bzw. ab PHP6 gar nicht mehr vorhanden ist? Das gibt einen Syntax-Fehler. In harmlosen Fällen. Die schwerer wiegenden Fälle nennt man SQL-Injection. Das Gegenmittel nennt sich Escaping. Beispielsweise für MySQL gibt es mysql_real_escape_string().

    echo "$verabschiedung $name";