Ergebnis 1 bis 5 von 5

Thema: INSERT INTO schlägt fehl - Error 1064

  1. #1
    Unregistriert
    Gast

    Standard INSERT INTO schlägt fehl - Error 1064

    Hallo Leute,
    ich bin momentan dabei mir meine eigene Homepage zu coden und bin relativ neu im Gebiet PHP, was über Grundgerüste hinausgeht.
    Ich möchte meinen Redakteuren in einem Backend die Möglichkeit geben eine Datei hochzuladen. Irgendwie will das aber nicht klappen und ich versteh einfach nicht wieso.

    Kurze Erklärung zu meinem Script unten:

    Der User bekommt ein Formular, wo er den Namen für die Übersicht, die Kategorie, einen externen Link eingeben oder eine Datei hochladen kann.
    Der Weg "Name, Kategorie, ext Link" klappt und wird erfolgreich in die Datenbank geschrieben, aber der Weg mit dem Dateiupload klappt leider nicht.

    Das Script soll die Datei erstmal auf den Server in ein bestimmtes Verzeichnis (je nach Kategorie) laden und den gleichen Namen haben, wie auf dem PC des users. Dann soll er genau diesen Pfad mit den anderen Formular-Feldern (ext Link bleibt dabei leer) in das Feld "Download" der Datenbank packen und zwar als Link (siehe $dateilink).

    Mal ganz abgesehen davon, dass die Datei nicht in mein gewünschtes Verzeichnis geladen wird, klappt aber der Datenbankeintrag nicht.
    Denn der sollte ja trotzdem funktionieren, da das Script ja nicht abbricht, sollte der move-Befehl nicht funktionieren.



    Jetzt aber zum Script (DB Passwort etc. wurden im original Script natürlich angepasst):
    PHP-Code:
    <body>
    <?php 
    include("header.php");
    ?>

    <div id="content_sidebar_wrapper">
        <?php include("navigation.php"); ?>
        <div class="content">
            <?php
                $name 
    $_POST['name'];
                
    $category $_POST['category'];
                
    $link $_POST['link'];
                
    $download $_FILES['download'];
                
    mysql_connect('localhost','user','password');
                
    mysql_select_db('datenbank');
                            
                if(empty(
    $name) || empty($category))
                {
                    echo 
    "Es wurden nicht alle Felder ausgeführt.";
                    echo 
    "<br><br><br><br><a href='javascript:history.back()'> Zurück </a>";
                }
                else
                {    
                    if(
    $_FILES['download']['name'] != "")
                        {
                        
                        
    $uploadverzeichnis "/var/www/clients/client3/web17/web/blabla/images/uploads/" $category "/" $_FILES['download']['name'];
                        
    $dateilink "<a href=' " $uploadverzeichnis " '>Download</a>";
                        
    /* move_uploaded_file($_FILES['download']['tmp_name'], $uploadverzeichnis); */
                        
                        
    $eintrag1 "INSERT INTO dateiupload (Dateiname, Kategorie, Link, Download) VALUES ('$name', '$category', '$link', '$dateilink')";
                        
                        if(!
    mysql_query($eintrag1))
                            {                
                                echo 
    mysql_errno() . " ------------ " mysql_error();
                                echo 
    "<br><br>Es ist ein Fehler aufgetreten.<br><br><a href='datei.php'>Zurück</a>";
                            }
                            else
                            {                        
                                echo 
    "<i>1 Datensatz wurde der Datenbank hinzugefügt.</i><br><br><br><br><br>";
                                echo 
    "Es wurden folgende Angaben gemacht:<br><br>";
                
                                echo 
    "<table border='1' cellpadding='5'>";
                
                                echo 
    "<tr><td><b>Dateiname</b></td> <td><b>Kategorie</b></td>";
                                echo 
    "<td><b>Link</b></td> <td><b>Download</b></td></tr>";
                                echo 
    "<tr><td>" $name "</td><td>" $category "</td><td>" $link "</td>";
                                echo 
    "<td>" $dateilink "</td></tr></table>";
                        
                                echo 
    "<br><br><br><br>";    
                                echo 
    "<a href='datei.php'>Zurück</a>";
                            }
                        }
                    
                    else
                        {
                        
                        
                            if(empty (
    $link))
                            {
                                echo 
    "Du musst einen Link angeben!<br><br><a href='datei.php'>Zurück</a>";
                            }
                            
                            else
                            {                            
                                
    $eintrag2 "INSERT INTO dateiupload (Dateiname, Kategorie, Link) VALUES ('$name', '$category', '$link')";
                                
                                if(!
    mysql_query($eintrag2))
                                {
                                echo 
    "Ein Fehler ist aufgetreten.<br><br><a href='datei.php'>Zurück</a>";
                                }
                                
                                else
                                {
                                echo 
    "<i>1 Datensatz wurde der Datenbank hinzugefügt.</i><br><br><br><br><br>";
                                echo 
    "Es wurden folgende Angaben gemacht:<br><br>";
                
                                echo 
    "<table border='1' cellpadding='5'>";
                
                                echo 
    "<tr> <td><b>Dateiname</b></td> <td><b>Kategorie</b></td>";
                                echo 
    "<td><b>Link</b></td></tr>";
                                echo 
    "<tr><td>" $name "</td><td>" $category "</td><td>" $link "</td></tr></table>";
                        
                                echo 
    "<br><br><br><br>";    
                                echo 
    "<a href='datei.php'>Zurück</a>";
                                }
                            }
                        }
                }
            
    ?>
        </div>
    </div>

    Das Formular:
    HTML-Code:
    <?php 
    include("header.php");
    ?>
    <body>
    
    <div id="content_sidebar_wrapper">
    	<?php include("navigation.php"); ?>
    	<div class="content">
    		<h3>Datei hochladen</h3>
    		<form action="datei_upload.php" method="post" enctype="multipart/form-data">
    		<table border="0">
    		<tr><td>Dateiname:</td><td><input name="name" size="60"></td></tr>
    		<tr><td>Kategorie:</td><td>
    						<select name="category">
    				<option value="artikelbild">artikelbild</option>
    				<option value="podcast">podcast</option>
    				<option value="programmpaket">programmpaket</option>
    				<option value="sonstiges">sonstiges</option>
    			</select>
    		</td></tr><tr><td><br></td><td><br></td></tr>
    		<tr><td>ext. Link (optional)</td><td><input name="link" size="80"></td></tr>
    		<tr><td>Datei</td><td><input name="download" type="file" size="61"></td></tr>
    		</table><br>
    		<input type="submit" value="Abschicken">
    		</form><br><br>
    
    		<?php include('datei_tabelle.php'); ?>
    	</div>
    </div>

    Und der Fehler beim Absenden des Dokuments, der dann angeblich bei der Variable $dateilink wäre:
    Code:
    1064 ------------ 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 ''>Download')' at line 1


    Ich wette es ist irgendetwas total banales und ich bin einfach zu blind es zu sehen...
    Hoffe ihr könnt mir helfen und danke schonmal im Voraus!


    Gruß
    Sky
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: INSERT INTO schlägt fehl - Error 1064

    Dein Insert mal teilweise aufgelöst:

    VALUES ('$name', '$category', '$link', '<a href=' " . $uploadverzeichnis . " '>Download</a>')";

    Da sollte dir was auffallen! Und deshalb gibt es die schöne Funktion mysql_real_escape_string, die man sowieso immer anwenden sollte, damit da keine bösen Sachen in die Abfragen reinrutschen können.

  3. #3
    Unregistriert
    Gast

    Standard AW: INSERT INTO schlägt fehl - Error 1064

    Ah danke!
    Den Befehl kannte ich noch nicht!
    Hab den Fehler jetzt wegbekommen, aber er gibt mir nun folgenden Fehler:

    Code:
    1062 ------------ Duplicate entry '' for key 'Link
    Aber es sind ja nur zwei Einträge weil ich mit ifs arbeite oder hab ih was übersehen?
    Wäre nett wenn du/ihr mir da nochmal helfen könnte(s)t.
    Danke!



    Gruß Sky

  4. #4
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: INSERT INTO schlägt fehl - Error 1064

    Diese Meldung heißt, dass Du in einem Primärschlüssel-Feld versucht hast einen bereits vorhandenen Wert nochmal in einem weiteren Datensatz einzufügen.

  5. #5
    Unregistriert
    Gast

    Standard AW: INSERT INTO schlägt fehl - Error 1064

    Danke für die Hilfe.
    Hatte total vergessen, dass ich dem Feld einen Index gegeben hatte.
    Danach kam noch ein Fehler auf, aber den konnte ich zum Glück selber lösen.

    Vielen Dank für die Funktion mysql_real_escape_string .
    Das wurde in meinem PHP-Buch gar nicht angesprochen.


    Viele Grüße
    Sky

Ähnliche Themen

  1. Ubuntu Installation schlägt fehl
    Von goldeneye im Forum Computer - Internet Forum
    Antworten: 3
    Letzter Beitrag: 04.10.2008, 13:57
  2. Update von Plone 2.0.5 auf 2.5.3-final schlägt fehl
    Von lakul im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 1
    Letzter Beitrag: 12.08.2008, 11:26
  3. Instalation schlägt fehl
    Von Patrick14 im Forum Computer - Internet Forum
    Antworten: 1
    Letzter Beitrag: 18.05.2008, 22:23
  4. Validierung schlägt fehl
    Von sin im Forum HTML & CSS Forum
    Antworten: 7
    Letzter Beitrag: 28.07.2006, 01:37
  5. installation von dvd schlägt fehl
    Von Hallo im Forum Computer - Internet Forum
    Antworten: 2
    Letzter Beitrag: 15.07.2006, 14:32

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •