Upload + Eintrag des Dateinamens in DB

chpa

Erfahrenes Mitglied
Hallo Alle zusammen,

kann mir bitte jemand helfen? Ich habe hier ein Uploadscript und jetzt wolte ich, dass der Dateiname in der Datenbank gespeichert wird. Jetzt funktioniert der Upload einwandfrei aber der DB eintrag will enifach nicht.

Ich versteht das nicht. Normal hab ich mit so etwas keine Probleme.

Hier das Script:

PHP:
<? 
include("dbconnect.php");
?>
<?php 
if($_GET['upload'] == "yes"){ 
// Variabeln festlegen 
$max_byte_size = 2097152; 
$allowed_types = "(jpg|jpeg|gif|bmp|png)"; 

// Formular wurde abgeschickt 
if($_POST["submit"] == "Upload") { 

// Wurde wirklich eine Datei hochgeladen? 
if(is_uploaded_file($_FILES["file"]["tmp_name"])) { 

// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen) 
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) { 

// Datei auch nicht zu groß 
if($_FILES["file"]["size"] <= $max_byte_size) { 

// Alles OK -> Datei kopieren 
if(copy($_FILES["file"]["tmp_name"], $_FILES["file"]["name"])) { 

echo "Datei erfolgreich hochgeladen!<br>"; 
echo "Name: " . $_FILES["file"]["name"] . "<br>"; 
echo "Größe: " . $_FILES["file"]["size"] . " Byte<br>"; 
echo "MIME-Type: " . $_FILES["file"]["type"] . "<br>"; 
echo "Link: <a href=\"" . $_FILES["file"]["name"] . "\">" . $_FILES["file"]["name"] . "</a>"; 

$sql = "INSERT INTO `bilder` (`id`, `b_id`, `bild`) VALUES (\'\', \'\', \'test\')";
$eintragen = mysql_query($sql);
} 
else { 

echo "Datei konnte nicht hochgeladen werden."; 

} 

} 
else { 

echo "Die Datei darf nur eine Größe von " . $max_byte_size . " Byte besitzen."; 

} 

} 
else { 

echo "Die Datei besitzt keine ungültige Endung."; 

} 

} 
else { 

echo "Keine Datei zum Hochladen angegeben."; 

} 

} 
else { 

echo "Bitte benutzen Sie das Upload Formular."; 

} 
} 
?>
 
Aender mal das
PHP:
$eintragen = mysql_query($sql);
in das
PHP:
$eintragen = mysql_query($sql) or die(mysql_error());
und schau was die Fehlermeldung sagt.
Ich bin mir ziemlich sicher, dass es an dieser lustigen Konstruktion liegt:
PHP:
$sql = "INSERT INTO `bilder` (`id`, `b_id`, `bild`) VALUES (\'\', \'\', \'test\')";
  1. Die Anfuehrungsstriche brauchst Du nicht escapen.
  2. Lass Werte die Du nicht eintragen willst doch einfach weg.

Und Du solltest evtl. mal etwas an Deinem Programmierstil tun, denn Dein Code ist aufgrund fehlender Einrueckungen fast unlesbar.
 
Zurück