upload - bildid kann nicht ermittelt werden
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
auslese
bau
beschreibung
bild
code
datenbank
dokument
file
haut
http
image
lade
montag
problem
tabelle
trage
type
vergeben
wert null
-
hallo
ich schreibe ein kleines script, weil ich am montag einen test habe.
mein problem ist, dass ich leider nicht die 1. id (also 1) aus der datenbank lesen kann...
<? if(isset($_POST[\'senden\'])) { if($_FILES[\'file\'][\'type\'] == \"image/jpeg\" OR $_FILES[\'file\'][\'type\'] == \"image/jpg\") { mysql_connect(\"\", \"\", \"\") or die(mysql_error()); mysql_select_db(\"upload\") or die(mysql_error()); $getID_query = mysql_query(\"SELECT MAX(id) FROM tblBilder\") or die(mysql_error()); $getID = mysql_fetch_array($getID_query) or die(mysql_error()); $titel = $_POST[\'btitel\']; $beschreibung = $_POST[\'bbeschreibung\']; $size = $_FILES[\'file\'][\'size\']; $name = $getID[0].\".jpg\"; //in die Datenbank schreiben $insert = mysql_query(\"INSERT INTO tblBilder ( `titel` , `name` , `beschreibung` , `size` ) VALUES ( \'$titel\' , \'$name\' , \'$beschreibung\' , \'$size\' )\"); move_uploaded_file($_FILES[\'file\'][\'tmp_name\'], \"Bilder/\".$name); echo \'Upload erfolgreich<br>\'; echo \'<img src=\"Bilder/\'.$name.\'\">\'; } else { echo \'Es dürfen nur JPG/JPEG Dateien hochgeladen werden.\'; } } ?> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\"> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <title>Unbenanntes Dokument</title> </head> <body> <form action=\"upload_ohne.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"form1\" id=\"form1\"> Bildtitel: <label> <input type=\"text\" name=\"btitel\" id=\"btitel\" /> </label> <br /> Beschreibung: <label> <textarea name=\"bbeschreibung\" id=\"bbeschreibung\" cols=\"45\" rows=\"5\"></textarea> </label> <br /> <br /> <label> Bild auswählen: <input type=\"file\" name=\"file\" id=\"file\" /> </label> <br /> <label> <input type=\"submit\" name=\"senden\" id=\"senden\" value=\"Senden\" /> </label> <br /> <label></label> </form> </body> </html>
hier der code.
in zeile 9 und 10 ($getID_query.... bzw $getID....) dort lese ich aus der datenbank mit SELECT MAX(bildID) from tblbilder ja den höchsten ID werd aus.
jetzt ist das problem, dass wenn die datenbank leer ist, also das erste bild hochgeladen wird ist der wert NULL und dadurch wird kein name vergeben.
weiß nicht ob es daran liegt, dass ich auf dem pc eine neuere version von xampp habe wie auf dem laptop - fakt ist, dass das script dort einwandfrei funktioniert und am pc nicht.
wenn ich über den phpmyadmin den query ausführe kommt als werd NULL zurück.
habe versucht mit einer if-abfrage diesen \"fehler\" abzufangen doch irgendwie haut das nicht hin.
if($getID[0] < 0) { $getID[0] = 1; } echo $getID[0];
doch dass schluckt er irgendwie nicht.
kann mir wer da weiterhelfen bitte? :)
danke
gruß
skull -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn du mit MAX(id) die größte ID bestimmst, müsste dann $name = $getID[0].\".jpg\"; nicht um ein größer sein, also $name = $getID[0]+1.\".jpg\"; ?
Zu deiner if-Abfrage:
$getID[0] < 0 prüft nur, ob die ID kleiner 0 ist, aber nicht gleich 0. Ein <= sollte helfen. -
hallo joa :)
hab aber jetzt ne bessere lösung gefunden.
ich trage zuerst alles ein in die tabelle bis auf den namen. danach lasse ich mit mysql_insert_id die letzte id auslesen und bau mit der den namen zusammen lade das bild hoch (move...) und dann update ich die tabelle an der stelle, an der die id stimmt :)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage