[MySQL/PHP] image table werkt niet meer met een extra veld.

Pagina: 1
Acties:
  • 177 views

Acties:
  • 0 Henk 'm!

  • MrVegeta
  • Registratie: September 2002
  • Laatst online: 11-09 20:46

MrVegeta

! Dolf is rechtvaardig !

Topicstarter
Ik heb een poos geleden een script gevonden/gemaakt/bewerkt etc voo het uploaden van images naar mijn server (dus niet BD) en het opslaan van de bestandsnaam in een DB zodat ik die kan oproepen op een pagina. Dit werkt opzich allemaal prima maar nu heb ik toch een rare "fout".

De table is simpel, heet "portfolio_img" en heeft 2 velden, namelijk "id" en "image". (maar ff in PHP tags gezet).
PHP:
1
2
3
4
5
CREATE TABLE `portfolio_img` (
  `id` int(11) NOT NULL auto_increment,
  `image` varchar(30) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


En dit is het script dat ik er bij gebruik.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

//This is the directory where images will be saved
$target = "../../images/";
$target = $target . basename( $_FILES['image']['name']);

//This gets all the other information from the form
$pic=($_FILES['image']['name']);

//Writes the information to the database
mysql_query("INSERT INTO `portfolio_img` VALUES ('$asd', '$pic')");

//Writes the photo to the server
if(move_uploaded_file($_FILES['image']['tmp_name'], $target))
{

//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
}
else {

//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
?>


Dit werkt allemaal prima, plaatjes worden geupload en de naam komt in de DB die dan weer ophaal op een pagina. Maar nu wil ik graag 2 namen van plaatjes opslaan in de table, een "image" als thumbnail en een "image_large" die gebruikt moet worden voor een lightbox.

En nu het probleem, zodra ik een extra veld aanmaak in de table "portfolio_img" worden er geen namen maar opgeslagen van de geuploade images! De image wordt nog wel op de server gezet maar er komt geen info meer in de table.

Ik ben zeker geen PHP expert of zelfs gevorderd maar tot nu toe behaal ik al mijn doelen door dingen te zoeken, uit elkaar te halen, bekijken wat alles doet en daarna weer in elkaar te zetten maar hier kom ik toch niet ui.

Geeft steekhoudelijke argumenten terwijl hij niet weet waar het over gaat. BlizzBoys, HD casts van StarCraft II gemaakt door Tweakers! Het begint, Zombiepocalyps


Acties:
  • 0 Henk 'm!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Heb je onderstaande insert ook aangepast?
PHP:
1
mysql_query("INSERT INTO `portfolio_img` VALUES ('$asd', '$pic')");

When life gives you lemons, start a battery factory


Acties:
  • 0 Henk 'm!

  • MrVegeta
  • Registratie: September 2002
  • Laatst online: 11-09 20:46

MrVegeta

! Dolf is rechtvaardig !

Topicstarter
Ik denk/dacht dat het probleem in de DB zit omdat als ik daar één extra veld in toevoeg dat die dan er niets meer inzet. Wat denk je dat ik moet veranderen dan?

Het lijkt me dus niet dat het fout gaat in de PHP file.

[ Voor 15% gewijzigd door MrVegeta op 12-06-2009 10:32 ]

Geeft steekhoudelijke argumenten terwijl hij niet weet waar het over gaat. BlizzBoys, HD casts van StarCraft II gemaakt door Tweakers! Het begint, Zombiepocalyps


Acties:
  • 0 Henk 'm!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Als je probeert om twee waarden te inserten in een tabel met drie kolommen, dan vindt de database dat niet leuk. Dus als je het nieuwe veld niet wilt vullen, moet je de query veranderen in
PHP:
1
mysql_query("INSERT INTO `portfolio_img` (id,image) VALUES ('$asd', '$pic')");


Als je het nieuwe vuld wel wilt vullen, moet je de query veranderen in
PHP:
1
mysql_query("INSERT INTO `portfolio_img` (id,image,large_image) VALUES ('$asd', '$pic','$large_pic')");


Het is altijd wel handig om de kolomnamen te specificeren bij een insert.

When life gives you lemons, start a battery factory


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Waarom zou je een extra veld voor thumbs gebruiken in je DB? Die kan je aan de hand van de info die reeds in de DB staat toch ook genereren?

Denk aan bijvoorbeeld
PHP:
1
2
3
$thumb = "thumb_". $row['image'];
// Of het volgende
$thumb = "../../images/thumb/". $row['image'];
bijvoorbeeld? :) Of ik snap je bedoeling niet. :)

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 13:47

MueR

Admin Tweakers Discord

is niet lief

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Sorry, maar dit is de absolute basis van SQL syntax en daar had je ook zelf wel uit kunnen komen. Je verwacht toch niet dat je database weet welke twee velden je wil vullen als je voor een tabel met 3-4 velden slechts twee waarden meegeeft? :? Hier kom je verder wel uit, dit topic gaat intussen dicht. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.