Hvordan indsætter man et billede i en database som man har uploadet, og hvis det kan lade sig gøre, kunne jeg godt tænke mig en uddbyning og databasens indhold :)
Hvis du kender filnavnet, er det jo meget simpelt. Du laver en formular der i mit tilfælde ser sådan her ud: <td align="left"><input name="cif_file" type="text" size="100" value="<?php echo 'path1/' . $path2 .'/dit_filnavn'; ?>" > </td> Efter formularen er submitted, sender jeg det til db med INSERT INTO table_name osv.
jacobo >> Du har vist ikke forstået spørgsmålet. Såvidt jeg kan læse, vil spørgeren uploade et billede og lægge dets binære data i et blob-felt i databasen =)
Hvad betyder 'virker ikke'? Hvad sker der? Hvad sker der ikke? Du må få en eller flere fejlmeddelelser - hvorfor hører vi ikke om dem? Har du evt. slået fejlmeddelelser fra?
Du har i hvertfald noget parentes-ged. Der må skulle stå: mysql_query("UPDATE bruger_billeder SET pic = '$picture'") or die(mysql_error());
- men du er nødt til at have fejlmeddelelser slået til, hvis du vil kode PHP ;o)
else { echo 'Der opstod en fejl - filen blev ikke uploadet!'; } { // <-- Hvor kommer den fra - og hvad skal den? $picture = "billeder/".$_FILES['file']['name'];
mysql_query("UPDATE bruger_billeder SET pic = '$picture'") or die(mysql_error());
michael_stim >> det lyder også mest hensigtsmæssigt - med mindre man er god til at holde sin DB og DB-kode virkelig fit-for-fight, samt har en kraftfuld DB/DB-server ;o)
simotho >> Jeg tror, du laver fejl, uden du får det at vide. Skriv altid: error_reporting(E_ALL);
- i toppen af dokumentet, hvis din udbyder har været 'venlig' og skjuler virkeligheden ved at disable fejlmeldinger i php.ini filen ;o)
Det kan ikke passe! Koden fra kommentaren (10/11-2008 15:18:22) _skal_ udløse fejl =)
Men derudover giver din database opdatering jo heller ikke rigtig mening. Din query vil opdatere alle tabellens rækker og sætte hver deres pic-felt til, hvad '$picture' indeholder. Du mangler nok en WHERE-del ... hvis du altså vil bruge UPDATE
mysql_query("UPDATE bruger_billeder SET pic = '$picture' WHERE ?? = ??") or die(mysql_error()); } else { echo 'Der opstod en fejl - filen blev ikke uploadet!'; }
Jeg skriver ?? da jeg ikke ved hvilke felter du ellers har i din tabel og hvilken værdi et felt i så fald skulle have. Du bør på en eller anden måde kunne identificere den række i din tabel som du vil opdatere.
Der ud over er der så mange generelle fejl i din kode at jeg vil foreslå dig at begynde helt forfra med en tutorial med basis php.
Hvis du kører den kode jeg har skrevet bør du som minimum få en mysql error ud på skærmen, hvis ikke, så har du noget andet kode liggende på samme side som giver fejl. Men det bør du også få vist.
Det jeg i bund og grund søger er et upload script der efterfølgende skriver det ind i en database og så kan man udskrive det som et profilbillede på en anden side
Hvis den ikke gemmer noget i databasen på nuværende tidspunkt og den uploader dit billede til mappen, så må det den give en eller anden mysql fejlbesked.
Evt kan du prøve at ændre: mysql_query("UPDATE bruger_billeder SET pic = '$picture' WHERE ?? = ??") or die(mysql_error()); til : mysql_query("INSERT INTO bruger_billeder (pic) VALUES ('$picture')") or die(mysql_error());
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.