jpg Bild in MySQL DB speichern



  • Hallo Leute,

    ich habe ein Problem und weiß nicht weiter. 😡
    ich möchte ein JPG-File in eine MySQL DB schreiben und muss die unten aufgeführte Art und Weise benutzen, die Daten einzufügen.

    Datei öffnen und String auslesen und diesen dann einfach in SQL-Anweisung einfügen geht ja nicht wegen den ganzen Sonderzeichen.
    Kann mir einer bitte helfen? Ich wäre sehr dankbar wenn mir jemand helfen könnte.

    Danke und schönen Tag noch an alle 🙂

    Gruß Stephan

    SQLQuery1->Close();SQLQuery1->SQL->Clear();
    SQLQuery1->SQL->Add("insert into bilder (bitmap,beschreibung) values('"+daten+"','Hochzeit 2005')");
                    SQLQuery1->ExecSQL();
    


  • Dafür brauchst du ein BLOB-Feld in deiner DB (Binary Large OBject). Zum Thema Blob findest du auch zahlreiche Beiträge hier im Form (Suchfunktion).



  • sorry wenn ich nerve: ich habe nix gescheites gefunden

    der Code könnte ja so aussehen:(gefunden im Forum)

    $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data))); 
    
        $result=MYSQL_QUERY("INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) ". 
            "VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
    

    addslashes ist hier die Funktion, die den Datenstring konvertiert, damit ich ihn per insert Anweisung einfügen kann.

    Ja aber wie kann ich das in BCB 6 realisieren? Ich habe da noch keine Fkt. gefunden (muss nicht heissen dass es sie nicht gibt: bin relativ neu hier)

    PS: Blobfeld habe ich schon erstellt. mir gehts nur darum wie ich einen String (mit File-Daten) per Inser-Anweisung in DB bekomme, ohne dass ich Probleme wegen den Sonderzeichen bekomme.

    Danke und Gruß Stephan



  • habe von deiner Webseite mir deine Tipps angeschaut, da steht ja auch ein BSP: mit dem Upload von Bildern dinne...
    super danke

    mit Append(); kann ich ja Datenströme einfach übertragen und mir keine Gedanken um Sonderzeichen zu machen wenn ich in ein BLOB Feld was eintrage.

    Gruß Stephan


Anmelden zum Antworten