11. juli 2008 - 14:55Der er
21 kommentarer og 1 løsning
billed upload igen
hej eksperter
jeg oprettede et spørgsmål for nogle dage siden med hensyn til noget med at uploade billeder. Men desværre uden held. har siddet og leget lidt med det selv men kan simpelthen ikke gennemskue hvad jeg skal gøre. jeg før følgende fejl når jeg prøver at uploade.
Column count doesn't match value count at row 1
her er hvordan min tabel ser ud...
CREATE TABLE `produkt` ( `id` int(11) NOT NULL auto_increment, `prnavn` varchar(50) NOT NULL, `billed` mediumblob, `beskrivelse` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
så nu håber jeg at i vil hjælpe mig med at få dette til at fungere. her kommer den fil som skal uploade mit billed samt en beskrivelse.
Du mangler bare et komma: mysql_query("insert into produkt(prnavn, billed, beskrivelse) values('$prnavn','$billed','$indhold')") or die(mysql_error());
Lige sådan hurtigt (har ikke kigget det hele igennem), kan jeg se at der mangler et komma: mysql_query("insert into produkt(prnavn, billed, beskrivelse) values('$prnavn','$billed''$indhold')") or die(mysql_error());
til
mysql_query("insert into produkt(prnavn, billed, beskrivelse) values('$prnavn','$billed','$indhold')") or die(mysql_error());
hvordan kan det være jeg ikke kan hente det ud som bliver gemt i min billed række. her er lige det jeg bruger til at få vist listen over mine produkter...
function produkt() { $hent = mysql_query("select * from produkt order by id desc limit 10") or die(mysql_error()); if (mysql_num_rows($hent)){ while ($row = mysql_fetch_assoc($hent)) { echo '<tr><td rowspan="2"><img src="img/'.$row['billed'].'"></td><td align="center">'.$row['prnavn'].'</td></tr>'; echo '<tr><td>'.$row['beskrivelse'].'</td></tr>'; echo '<tr><td colspan="2"></td></tr>'; } } }
Er stien korrekt og er der noget i tabellen? Kan ikke umiddelbart se noget.
Har ændret lidt i din funktion (mest det estetiske):
function produkt() { $hent = mysql_query("select * from produkt order by id desc limit 10") or die(mysql_error()); $retur=""; if (mysql_num_rows($hent)){ while ($row = mysql_fetch_assoc($hent)) { $retur.= "<tr><td rowspan=\"2\"><img src=\"img/".$row['billed']."\"></td><td align=\"center\">".$row['prnavn']."</td></tr>"; $retur.= "<tr><td>".$row['beskrivelse']."</td></tr>"; $retur.= "<tr><td colspan=\"2\"></td></tr>"; } } return $retur }
Nu kender jeg ikke lige din mappe struktur, men jeg tror du har skrevet stien forkert. Enten kan du: $billed = "img/" . $billed; //echo $billed; $result = @move_uploaded_file($_FILES['billed']['tmp_name'], $_SERVER['Document_root']."/".$billed);
Eller du kan $billed = "img/" . $billed; //echo $billed; $result = @move_uploaded_file($_FILES['billed']['tmp_name'], dirname(__FILE__)."/".$billed);
har lavet svriptet om. så nu prøver jeg noget nyt. får lige denne fejl
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access img/box_software.png in /customers/jp-pro.dk/jp-pro.dk/httpd.www/admin/do_produkt.php on line 6
her er hvordan det nye script ser ud.
<?php require('dataconfig.php');
$target_path = "img/"; $target_path = $target_path . basename( $_FILES['billed']['name']); if(move_uploaded_file($_FILES['billed']['tmp_name'], $target_path)) { echo "billedet ". basename( $_FILES['billed']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!"; }
mysql_query("insert into produkt(prnavn, billed, beskrivelse) values('$prnavn','$billed','$indhold')") 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.