Hoi,

Ik ben bezig met een gameswebsite en om games toe te voegen aan de database gebruik ik een formuliertje.
Het werkte eerst heel mooi maar sinds een tijdje werkt het niet meer, ik krijg namelijk deze error terug:

Column count doesn't match value count at row 1

Ik weet niet wanneer het gebeurt is, dit is mijn syntax:


<?php
if($_GET['actie'] == "verzenden") 
{
	if(empty($_POST['naam']) || empty($_POST['release_eu']) || empty($_POST['release_us']) || empty($_POST['release_jp']) || empty($_POST['ontwikkelaar']) || empty($_POST['uitgever']) || empty($_POST['genre']) || empty($_POST['aantal_spelers']) || empty($_POST['online']))
	{
		echo "<table cellpadding=\"".$website['cellpadding']."\" cellspacing=\"".$website['cellspacing']."\" border=\"".$website['border']."\" width=\"".$website['width']."\" style=\"border: 1px solid ".$website['bordercolor']."\">";				
		echo "<tr>";			
		echo "<td bgcolor=\"".$website['bgcolor']."\" width=\"100%\"><b>Fout</b></td>";		
		echo "</tr>";		
		echo "<tr><td width=\"100%\">";
		echo "Je hebt iets niet ingevuld...";
		echo "</td></tr></table><br>";
	} 
	else
	{
		$insert = "INSERT INTO game_games (id, naam, avatar, boxshot, release_eu, release_us, release_jp, ontwikkelaar, uitgever, genre, aantal_spelers, online, extra, beschrijving, console) VALUES ('', '".$_POST['naam']."', '".$_POST['avatar']."', '".$_POST['boxshot']."', '".$_POST['release_eu']."', '".$_POST['release_us']."', '".$_POST['release_jp']."', '".$_POST['ontwikkelaar']."', '".$_POST['uitgever']."', '".$_POST['genre']."', '".$_POST['aantal_spelers']."', '".$_POST['online']."', '".$_POST['onlinecheck']."', '".$_POST['extra']."', '".$_POST['beschrijving']."', '".$_POST['console']."')";
		mysql_query($insert)or die(mysql_error());
		echo "<table cellpadding=\"".$website['cellpadding']."\" cellspacing=\"".$website['cellspacing']."\" border=\"".$website['border']."\" width=\"".$website['width']."\" style=\"border: 1px solid ".$website['bordercolor']."\">";				
		echo "<tr>";
		echo "<td bgcolor=\"".$website['bgcolor']."\" width=\"100%\"><b>Game toevoegen</b></td>";		
		echo "</tr>";		
		echo "<tr><td width=\"100%\">";
		echo "Game profiel succesvol toegevoegd...";
		echo "</td></tr></table><br>";
?>


Ik weet echt niet meer wat ik moet doen... Wie kan mij helpen??
dit is niet alle code.


waar is het stuk waar het count gedeelte in voorkomt
Schrijf je query eens wat overzichtelijker:

$insert = "
        	INSERT INTO 
        		game_games (
        			id, 
        			naam, 
        			avatar, 
        			boxshot, 
        			release_eu, 
        			release_us, 
        			release_jp, 
        			ontwikkelaar, 
        			uitgever, 
        			genre, 
        			aantal_spelers, 
        			online, 
        			extra, 
        			beschrijving, 
        			console
        		) 
        	VALUES (
        		'', 
        		'".$_POST['naam']."', 
        		'".$_POST['avatar']."', 
        		'".$_POST['boxshot']."', 
        		'".$_POST['release_eu']."', 
        		'".$_POST['release_us']."', 
        		'".$_POST['release_jp']."', 
        		'".$_POST['ontwikkelaar']."', 
        		'".$_POST['uitgever']."', 
        		'".$_POST['genre']."', 
        		'".$_POST['aantal_spelers']."', 
        		'".$_POST['online']."', 
        		'".$_POST['onlinecheck']."', 
        		'".$_POST['extra']."', 
        		'".$_POST['beschrijving']."', 
        		'".$_POST['console']."'
        	)
        ";

Dat telt een heel stuk eenvoudiger. Dan zul je zien dat het aantal kolommen en het aantal waardes niet overeenkomt.
bedankt ik zie net wat ik fout heb!
Ik voer onlinecheck wel in maar hij staat er niet bij..
Ik denk dat ik hem per ongeluk verwijderd heb bij het toevoegen van extra :/
Bedankt voor de reacties
Of nog beter

$sql = 'INSERT INTO tabel
SET test = 1,
test 2 = 2 enz...
INSERT INTO tabel SET?

UPDATE SET en INSERT INTO VALUES was het toch?
@ wes

ja

inderdaad het viel mij ook al op
Ik zal erover denken het te veranderen.. (zijn nogal veel pagina's..)

Reageren