login  Naam:   Wachtwoord: 
Registreer je!
 Forum

marktplaats script

Offline powerdes - 27/06/2006 23:19
Avatar van powerdesNieuw lid hallo ik heb een groot probleem met me marktplaats script als ik een advertenties wil plaatsen krijg ik een fout melding

Column count doesn't match value count at row 1

en deze database tabel gebruik ik
CREATE TABLE `advertentie` (
`advertentie_id` int(11) NOT NULL auto_increment,
`categorie_id` int(11) NOT NULL default '0',
`subcategorie_id` int(11) NOT NULL default '0',
`datum` varchar(50) NOT NULL default '',
`naam` varchar(50) NOT NULL default '',
`emailadres` varchar(100) NOT NULL default '',
`telefoonnummer` varchar(11) NOT NULL default '',
`plaats` varchar(100) NOT NULL default '',
`provincie` varchar(50) NOT NULL default '',
`soort` varchar(50) NOT NULL default '',
`prijs` varchar(50) NOT NULL default '',
`titel` varchar(50) NOT NULL default '',
`tekst` text NOT NULL,
`impressie` int(11) NOT NULL default '0',
`bevestigd` int(1) NOT NULL default '0',
`code` varchar(15) NOT NULL default '',
PRIMARY KEY (`advertentie_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

10 antwoorden

Gesponsorde links
Offline Ultimatum - 27/06/2006 23:23
Avatar van Ultimatum PHP expert het ligt niet aan je table maar aan je query, je hebt meer values dan dingen die je toevoegd of andersom 
Offline powerdes - 27/06/2006 23:24
Avatar van powerdes Nieuw lid wat kan ik er aan doen
Offline vinTage - 27/06/2006 23:25
Avatar van vinTage Nieuw lid tellen ?
Offline Ultimatum - 27/06/2006 23:25 (laatste wijziging 27/06/2006 23:29)
Avatar van Ultimatum PHP expert ten eerste je relevante code plaatsen, en kijk wat VinTage heeft gepost..

vinTage edit, had ik al gedelete omdat jij ong hetzelfde zei 

edit: mooi meestal word mijn post gedelete 
Offline Gerard - 27/06/2006 23:27 (laatste wijziging 27/06/2006 23:27)
Avatar van Gerard Ouwe rakker De error houdt in dat je geen gebruik maakt van cel specificatie voor je data. Je dient dan ook data aan te leveren voor elke cel van je tabel.

Stel dat we een kleine tabel hebben met gebruikers erin. We hebben daarin de volgende velden:
userid tinyint(2),
username varchar(32),
password varchar(40),
voornaam varchar(32),
achternaam varchar(32).

Wanneer je bij het registreren van een gebruiker gebruikt maakt van de specificatie dan zal je query er zo uit komen te zien:
  1. <?php
  2. $qAddUser = mysql_query("INSERT INTO user (username, password)
  3. VALUES ('".mysql_real_escape_string($_POST['username'])."',
  4. '".sha1($_POST['password'])."')");
  5. ?>

Zoals je ziet geven we dus aan dat we een nieuwe row aan willen maken in onze tabel en dat we 2 velden invullen -> username & password.

Als we de stijl pakken van de query die jij waarschijnlijk gebruikt dan zullen we het als volgt moeten doen:
  1. <?php
  2. $qAddUser = mysql_query("INSERT INTO user
  3. VALUES (NULL,
  4. '".mysql_real_escape_string($_POST['username'])."',
  5. '".sha1($_POST['password'])."',
  6. '',
  7. '')");
  8. ?>

Zoals je ziet moeten we nu dus voor elke cel in jouw tabel een waarde gaan invoeren. De column die ingesteld staat als auto_increment sturen we in met NULL zodat hij zijn werk gewoon kan doen. We dienen voor de voornaam & achternaam (aangezien we die niet vragen bij de registratie) nu dus lege strings in de database in te voeren.
Offline powerdes - 27/06/2006 23:29
Avatar van powerdes Nieuw lid ik heb het zo aangemaakt

mysql_query("INSERT INTO advertentie VALUES ('','$Categorie','$Subcategorie', '$InpDatum', '$InpNaam' , '$InpEmail', '$InpTelefoonnummer',
'$InpPlaats', '$InpProvincie', '$InpSoort', '$InpPrijs', '$InpTitel', '$InpTekst', '$impressie', '$bevestigd', '$code', '$Ip', '$InpInternet', '$InpBieden')") or die(mysql_error());
Offline Gerard - 27/06/2006 23:30
Avatar van Gerard Ouwe rakker Het aantal waarden wat jij wegschrijft naar de database is 19 (18 variabelen en een lege string voor je auto_increment). Je tabel bevat echter maar 16 velden.
Offline powerdes - 27/06/2006 23:32
Avatar van powerdes Nieuw lid dus wat moet er dan van af ?
wat ik zo raar vindt dit script heeft altijd gewerkt
Offline Gerard - 27/06/2006 23:36
Avatar van Gerard Ouwe rakker
  1. '$Ip',
  2. '$InpInternet',
  3. '$InpBieden')"


Deze 3 velden komen niet voor in je database schema.
Offline CDNC - 28/06/2006 00:03
Avatar van CDNC PHP ver gevorderde en de variabelen buiten de quotes halen ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.192s