Upload - Was ist Falsch?

Gumbo hat gesagt.:
Ich schätze, du solltest noch deine Tabellenstruktur überarbeiten, Crashx. Siehe dazu Datenbanknormalisierung.

Ich sehe den Sinn einer optimierung nicht, ich will doch innerhalb einer ID drei Verschiedene bilder ausgeben können, das ist für mich die einfachste variante.

Konkret für was ich das brauche. Occasion Fahrzeuge.
Ich Trage ein neues Fz ein, mit den verschiedenen Daten, dan kann man dazu noch 3 Bilder wählen.

das heisst für mich das jedes Fz seine eigene ID hat und ich in der Darstellung freien Spielraum habe.

die tabelle die ich hier verwende ist nur zum Testen.

Wen du mir aber andere Vorschläge hättest wäre ich sicherlich nicht Abgeneigt sie zu nutzen

Danke
 
Und wieso geht das jetzt nicht?

PHP:
<?
include("inc/dbconnect.php");

if (isset($_FILES)) 
  {
    for($i = 0; $i < count($_FILES['file']['tmp_name']); ++$i)
      {
        $tempname = $_FILES['file']['tmp_name'][$i];
        $name     = $_FILES['file']['name'][$i];
        if (is_uploaded_file($tempname))
          {
            move_uploaded_file($tempname,"upload/images/$name");
            echo "Die Datei $name wurde erfolgreich hochgeladen!<br />";
          }
      }
			$eintrag = "INSERT INTO auto (marke, typ, ccm, jahr, km, farbe, preis, beschr, pic1, pic2, pic3) 
						VALUES ('$marke', '$typ', '$ccm', '$jahr', '$km'. '$farbe', '$preis', '$beschr', 'upload/images/".implode("',upload/images/'",$_FILES['file']['name'])."')";

			$eintragen = mysql_query($eintrag);  
	}
echo mysql_error();
?>

?
 
Wenn du mysql_error() posten würdest, könnte man das sagen.

Was sind das alles für Variablen...$marke', '$typ', '$ccm', '$jahr', '$km'. '$farbe', '$preis', '$beschr, wo kommen die her?

Wie ist die Einstellung von register_globals?
 
Probier mal Folgendes:
PHP:
<?php

	…

		$eintrag = "
			INSERT INTO
			        `auto`
			  SET
			        `marke`  = '".mysql_real_escape_string($marke)."',
			        `typ`    = '".mysql_real_escape_string($typ)."',
			        `ccm`    = '".mysql_real_escape_string($ccm)."',
			        `jahr`   = '".mysql_real_escape_string($jahr)."',
			        `km`     = '".mysql_real_escape_string($km)."',
			        `farbe`  = '".mysql_real_escape_string($farbe)."',
			        `preis`  = '".mysql_real_escape_string($preis)."',
			        `beschr` = '".mysql_real_escape_string($beschr)."',
			        `pic1`   = '".mysql_real_escape_string('upload/images/'.$_FILES['file']['name'][0])."',
			        `pic2`   = '".mysql_real_escape_string('upload/images/'.$_FILES['file']['name'][1])."',
			        `pic3`   = '".mysql_real_escape_string('upload/images/'.$_FILES['file']['name'][2])."'
			";
	…

?>
Etwas mehr Eigeninitiative und Mitdenken wäre hilfreich.
 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '. 'Blau', '19860', 'Tolles Auto mit vielen extras', '/images/Norton-Logo-I.jpg',' at line 2
 
Danke Gumbo.

könntest du mir erläutern wieso es so Funktioniert?

sonnst komme ich nie auf einen Grünen Zweig ;-)

Danke
 
Es war eigentlich nur ein Zeichenfehler. Denn würde der implode()-Funktion als erster Parameter ','upload/images/ überwiesen, sollte auch diese Variante funktionieren.

Ich finde jedoch meinen Vorschlag übersichtlicher.
 
Zurück