Multiple Images Upload in SQL

  • Hallo Leute,


    ich versuche aktuell mehrere Bilder gleichzeitig in eine SQL Datenbank zu schreiben.
    Datenbank: photos-tabelle: images -> Spalten id (int255) , name (varchar(255)), text (varchar(255)),


    Der einfach Upload funktioniert auch soweit, jedoch bereitet mir der multible Upload arge Probleme.


    Aktuell wird einfach nichts in die Datenbank geschrieben. Erkennt jemand vielleicht den Fehler ?


    Hier mal mein code:


    Würde mich über jede Hilfe sehr freuen.


    Liebe Grüße:P

  • Ich bin nicht gerade der beste in mysqli , aber ich habe es am laufen bekommen.

    Benutzt du eigentlich keine error reports ?


    Zeile 18 benutzt du mysql. Wenn dann muß es mysqli heißen und 2 parameter enthalten ,oder du änderst den Code davor auch in mysql.

    Aber das ist Mist weil mysqli neuer ist und mysql bei den alten php Versionen schon nicht mehr läuft.

    Ich habe Zeile 18 so gemacht

    Code
    1. $result = mysqli_query($db,$sql) or die ("MySQL-Error: " . mysqli_error($db));

    dann kannst du mit $result noch abfragen machen ob speichern geklappt hat oder nicht.

    zeile 23 kommt weg oder auskommentieren.

    Zeile 15 ,habe keine Ahnung was die macht , wenn man es auskomentiert dann funktioniert der Code jetzt.


    Dann sollte man die Datein noch filtern und vor der Eingabe in den query noch escapen.


    Aber gut. Warte mal wenn einer der Php Profis online kommen die zeigen und erklären dir das dann besser

  • Das geht prinzipiell auch so:

    Setzt natürlich voraus, dass die Datenbank vernünftig aufgebaut ist und keine doppelten Einträge zulässt.


    Aber der Hintergrund für diese Variante ist, dass man innerhalb von Schleifen keine SQL-Abfrage durchführen sollte.

    Ein Multi-Insert ist ein INSERT, der multiple VALUES übergibt.


    Ich würde auch noch die übergebenen Werte filtern.


    Da ich MySQLi nicht nutze kann ich da nicht viel mehr zu sagen, allerdings solltest Du PreparedStatements ( mysqli_stmt ) verwenden, das kann MyQLi auch.

  • Moin Moin,


    vielen dank für eure Hilfe.
    Funktioniert :)

    Habe aber noch eine Frage. Und zwar wollte ich das Erstelldatum noch mit auslesen:


    Code
    1. $date = filemtime($filetmp);
    2. $meindatumsformat = date(' m.d.y', $date);
    3. $sql = "INSERT INTO images (name,erstelldatum) VALUES ('$filename','$meindatumsformat');
    4. $result = mysqli_query($db,$sql) or die ("MYSQL-Error:".mysqli_error($db));



    Bekomme immer folgendes Datum in meine Datenbank geschrieben: 2010-02-18


    erstelldatum ist in meiner SQL Typ date. Liegt wahrscheinlich an dem Parameter ,,filetmp" oder ? Komme aber nicht drauf wie bzw. was sonst verwendet werden soll.


    Liebe Grüße