Probleme mit Bilduploadscript

  • Hallo.

    Habe hier ein Script, dass ich gerne als Grundlage für einen weiteren Ausbau verwenden möchte.

    Bei dem Script tun sich für mich ein paar Fragen und Fehler auf, die ich gerne verstehen und natürlich auch beseitigen möchte.

    Die Fehlerauswertung ist:

    Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in C:\xampp\htdocs\backoffice\best_bilder.php on line 200

    =

    PHP
    mysql_real_escape_string($id));

    Fatal error: Cannot redeclare prepare() (previously declared in C:\xampp\htdocs\backoffice\best_bilder.php:197) in C:\xampp\htdocs\backoffice\best_bilder.php on line 197

    PHP
    function prepare($name, $id) {

    Ist der Fehler aus zeigle 197 nun verantwortlich für den Fehler in Zeile 200 ?

    Dieser besagt ja, dass er irgendwie sich selbst nicht überschreiben kann, was er ja auch eigentlich nicht soll!
    Hängt das mit dem Value $objekt aus dem Imput zusammen?

    Wenn ich 3 unterschiedliche Datein auswähle macht er folgendes:

    Die ersten 2 Dateien schreibt er in das Verzeichnis.
    Die erste Datei schreibt er mir in die DB aber ohne photo_item_id.

    Danke für etwas Hilfe.

  • OK, danke !

    Ich verstehe was du meinst, kann es aber aus eigenen Stücken nicht ändern, da mir das Wissen fehlt, kleiner Rückschlag meinerseits, aber was solls.

    Ergo, mach dich nicht an ein Script ran, wo dir das Grundverständnis fehlt.

    Aber eine Frage noch zuletzt, da ich aus dem Script das Ergebins nicht hervorbringen konnte, werden dort alle Dateien in eine Zelle gespreichert oder wird für jede Datei eine neue Zeile in der DB angelegt, das ist für mich nur deshalb wichtig, da ich ja berücksichtigen möchte, dass ich beim Zugriff auf die Dateien über eine ID oder etwas anderes Greifbarens gehen möchte, um die Dateien einem Datensatz zu zuordenen.

    D.h. ID (oder etwas ähnliches = alle dazugehörigen Bilder

    Danke vielmals.

  • also ich versth dein script akut auch nich so wirklich, aber mal so als gedanke..
    wieso bilder in der datenbank speichern? bilder sind dateien und die speichert man für gewöhnlich in einem dateisystem und speichert in der datenbank lediglich den pfad zu entsprechendem bild ;)

    da du nur eine datei hochladen kannst mit den bordmitteln von html, wirste auch nur einen datensatz in die datenbank schreiben

  • Also das Script schreibt lediglich die ID, den Dateinamen und Zusatz in die DB und wenn man es erweitert, kann mann auch den Pfad mittels $upload_dir vor die Datei hängen.

    Daran liegt es nicht!

  • Hallo !

    ich habe das Script jetzt mal auf das min. schrumpfen lassen um mich da langsam ranzutasten:

    Der Dateiupload klappt jetzt schon mal ganz gut. Nur mit dem schreiben in die DB happert es noch. Hier habe ich mich jetzt mal nur auf das Array $name konzentriert.

    Ich möchte gerne mal verstehen, warum er bei einem Upload 1 Datei in die Datenbank schreibt, so soll es ja auch sein und bei 2 oder mehr Uploads schreibt er mir
    jedesmal 2 x die erste Datei rein und dann folgen alle anderen einzeln ???

    Hier mal der Eintrag mit 3 Grafikdateien:

    Der $sql sieht eigentlich richtig aus:

    HTML
    01.png uploadedINSERT INTO photo (photo_filename) VALUES  ('01.png')02.png uploadedINSERT INTO photo (photo_filename) VALUES  ('02.png')03.png uploadedINSERT INTO photo (photo_filename) VALUES  ('03.png')

    DB:

    ID photo_filename photo_item_id 1 01.png 2 01.png 3 02.png 4 01.png 5 02.png 6 03.png

    Danke.

    2 Mal editiert, zuletzt von Hauer (11. Dezember 2010 um 13:15)

  • OK, sorry hab mysqli_query($verbindung, $sql); falsch geklammert....wie peinlich...

  • Hallo, ich habe noch mal eine Anschlussfrage:

    Ich habe nun 2 Tabellen. eine mit Daten und eine weitere mit Bildern.

    Nun möchte ich die Daten auslesen und die dazugehörigen Bilder anzeigen lassen.

    Ich habe es mal so versucht:

    Die Objektschlüssel ist bei mir die Spalt objektnr, die in Beiden Tabellen vorkommt und auch die gleiche Konfigurtion hat.

    Irgendwie habe ich den INNER JOIN noch nicht ganz verstanden.

    Die Fehlermeldung ist:

    Code
    mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in [B]C:\xampp\htdocs\index.php[/B] on line [B]188[/B]

    Es sind zu jedem Datensatz mehrere Bilder vorhanden. Wie kann ich diese Abfrage lösen.

    Danke.