Avatar billede anetteogjesper Nybegynder
07. april 2004 - 22:23 Der er 15 kommentarer og
1 løsning

Column count doesn't match value count at row 1

Hej
Når jeg går ind og skriver på denne side http://www.xxxxx.dk/checkout.html og trykker check ud får jeg denne fejl: Column count doesn't match value count at row 1
Hvad betyder dette?

mvh
Anette
Avatar billede phpwiz Nybegynder
07. april 2004 - 22:27 #1
det betyder lige præcis hvad der står, at antallet af kolonner ikke svarer til antallet af værdier,

du har en :

INSERT INTO tabel (id,navn,adresse) VALUES ('1', 'navn');

du skal sørge for at der er lige mange i første og anden ()
Avatar billede anetteogjesper Nybegynder
08. april 2004 - 08:39 #2
Her er koden, kan du så hjælpe med hvad der er galt?:

      //add to store_orders
      $add_entry = "insert into store_orders values ('', '$_POST[efterkrav]','$_POST[overfoersel]','$_POST[ewire]','$_POST[fornavn]', '$_POST[efternavn]',
'$_POST[adresse1]', '$_POST[adresse2]', '$_POST[by]', '$_POST[postnr]', '$_POST[telefon]',
'$_POST[mobil]', '$_POST[email]', '$_POST[add_type]', '$_POST[sendtil]', '$_POST[sendtil_adresse1]',
'$_POST[sendtil_adresse2]', '$_POST[sendtil_by]', '$_POST[sendtil_postnr]', '$_POST[personlig_besked]')";
      mysql_query($add_entry) or die(mysql_error());
?>


og


<FORM ACTION="kasse.php" METHOD=POST>

<P>Dine informationer</br>

      <P><strong>betalingsmåder:</strong><br>
      <input type="checkbox" name="efterkrav" checked> pr. efterkrav kr. 78.75
    <input type="checkbox" name="overfoersel"> Bankoverførsel kr. 46.50
    <input type="checkbox" name="ewire"> Ewire kr. 49.50

      <P><strong>For/Efternavn:</strong><br>
      <input type="text" name="fornavn" size=30 maxlength=75>
      <input type="text" name="efternavn" size=30 maxlength=75>

      <P><strong>Adresse:</strong><br>
      <input type="text" name="adresse1" size=30>
      <input type="text" name="adresse2" size=30>

      <P><strong>by og postnr.:</strong><br>
      <input type="text" name="by" size=30 maxlength=50>
      <input type="text" name="postnr" size=10 maxlength=10>

      <P><strong>Telefon nr.:</strong><br>
      <input type="text" name="telefon" size=30 maxlength=25>

      <P><strong>Mobil nummer:</strong><br>
      <input type="text" name="mobil" size=30 maxlength=25>

      <P><strong>Email Addresse:</strong><br>
      <input type="text" name="email" size=30 maxlength=150>

<P><strong>Modtager adresse (kryds hvis anden):</strong><br>
<input type="radio" name="add_type" value="samme" checked> samme modtager adresse
<input type="radio" name="add_type" value="anden"> anden modtager adresse

      <P><strong>send til:</strong><br>
      <input type="text" name="sendtil" size=30 maxlength=150>

      <P><strong>Adresse:</strong><br>
      <input type="text" name="sendtil_adresse1" size=30>
      <input type="text" name="sendtil_adresse2" size=30>

      <P><strong>by og postnr.:</strong><br>
      <input type="text" name="sendtil_by" size=30 maxlength=50>
      <input type="text" name="sendtil_postnr" size=10 maxlength=10>


      <P><strong>Personlig besked:</strong><br>
      <textarea name="personlig_besked" cols=35 rows=5 wrap=virtual></textarea>
      <input type="hidden" name="op" value="add">

      <p><input type=submit name="submit" value="check ud"></p>
      </FORM>
Avatar billede phpwiz Nybegynder
08. april 2004 - 09:46 #3
denne linie :
$add_entry = "insert into store_orders values ('', '$_POST[efterkrav]','$_POST[overfoersel]','$_POST[ewire]','$_POST[fornavn]', '$_POST[efternavn]',
'$_POST[adresse1]', '$_POST[adresse2]', '$_POST[by]', '$_POST[postnr]', '$_POST[telefon]',
'$_POST[mobil]', '$_POST[email]', '$_POST[add_type]', '$_POST[sendtil]', '$_POST[sendtil_adresse1]',
'$_POST[sendtil_adresse2]', '$_POST[sendtil_by]', '$_POST[sendtil_postnr]', '$_POST[personlig_besked]')";

Den skal have formatet :
INSERT INTO store_orders (felter i din database) VALUES (variabler)
du har kun :
INSERT INFO store_orders VALUES (variabler)
Avatar billede coderdk Praktikant
08. april 2004 - 18:17 #4
ramlev.dk, det må man godt. Det kræver blot at du indsætter felterne i den rigtige rækkefølge.
En anden måde at gøre det på er:

INSERT INTO store_orders
  SET efterkrav = '$_POST[efterkrav]'
  ,overfoersel = '$_POST[overfoersel]'

osv, prøv at lave din INSERT statement om, du prøver lige nu at indsætte enten for få eller for mange felter :)
Avatar billede anetteogjesper Nybegynder
15. april 2004 - 11:23 #5
Kan i se hvor disse felter er? siden er www.xxxxx.dk/chechout.html
Avatar billede anetteogjesper Nybegynder
15. april 2004 - 11:24 #6
Avatar billede freos Nybegynder
15. april 2004 - 14:56 #7
//add to store_orders
      $add_entry = "insert into store_orders values ('', '$_POST[efterkrav]','$_POST[overfoersel]','$_POST[ewire]','$_POST[fornavn]', '$_POST[efternavn]',
'$_POST[adresse1]', '$_POST[adresse2]', '$_POST[by]', '$_POST[postnr]', '$_POST[telefon]',
'$_POST[mobil]', '$_POST[email]', '$_POST[add_type]', '$_POST[sendtil]', '$_POST[sendtil_adresse1]',
'$_POST[sendtil_adresse2]', '$_POST[sendtil_by]', '$_POST[sendtil_postnr]', '$_POST[personlig_besked]')";
      mysql_query($add_entry) or die(mysql_error());

som jeg kan se det mangler der en " ved [personlig_besked]')";
så den kommer til at se sådan her ud: [personlig_besked]'")";
ellers kan jeg ikke lige se nogle fejl i det
Avatar billede freos Nybegynder
15. april 2004 - 14:56 #8
den bliver sådan her så

//add to store_orders
      $add_entry = "insert into store_orders values ('', '$_POST[efterkrav]','$_POST[overfoersel]','$_POST[ewire]','$_POST[fornavn]', '$_POST[efternavn]',
'$_POST[adresse1]', '$_POST[adresse2]', '$_POST[by]', '$_POST[postnr]', '$_POST[telefon]',
'$_POST[mobil]', '$_POST[email]', '$_POST[add_type]', '$_POST[sendtil]', '$_POST[sendtil_adresse1]',
'$_POST[sendtil_adresse2]', '$_POST[sendtil_by]', '$_POST[sendtil_postnr]', '$_POST[personlig_besked]'")";
      mysql_query($add_entry) or die(mysql_error());
Avatar billede anetteogjesper Nybegynder
15. april 2004 - 16:53 #9
nej for det er ikke " men to af diss ' '
Avatar billede freos Nybegynder
15. april 2004 - 17:57 #10
hmm ok min fejl der :)
jeg har lige prøvet at bruge din kode for at lave en side magen til hvor jeg også lavede mysql databasen og jeg få ingen fejl med den kode du har der så mit eneste bud må være at der mangler en af de krævede kolonner i din database
Avatar billede anetteogjesper Nybegynder
15. april 2004 - 21:03 #11
Må jeg lige spørge hvad du satte:
"<P><strong>betalingsmåder:</strong><br>
      <input type="checkbox" name="efterkrav" checked> pr. efterkrav kr. 78.75
    <input type="checkbox" name="overfoersel"> Bankoverførsel kr. 46.50
    <input type="checkbox" name="ewire"> Ewire kr. 49.50"
som i databasen?
Avatar billede freos Nybegynder
16. april 2004 - 00:33 #12
jeg lavede databasen med disse kolonner:

CREATE TABLE store_orders (
  id int(2) NOT NULL auto_increment,
  efterkrav varchar(100) NOT NULL default '',
  overfoersel varchar(100) NOT NULL default '',
  ewire varchar(100) NOT NULL dafault '',
  fornavn varchar(100) NOT NULL default '',
  efternavn varchar(100) NOT NULL default '',
  adresse1 varchar(100) NOT NULL dafault '',
  adresse2 varchar(100) NOT NULL default '',
  by varchar(100) NOT NULL default '',
  postnr varchar(100) NOT NULL dafault '',
  telefon varchar(100) NOT NULL default '',
  mobil varchar(100) NOT NULL default '',
  email varchar(100) NOT NULL dafault '',
  add_type varchar(100) NOT NULL default '',
  sendtil varchar(100) NOT NULL default '',
  sendtil_adresse1 varchar(100) NOT NULL dafault '',
  sendtil_adresse2 varchar(100) NOT NULL default '',
  sendtil_by varchar(100) NOT NULL default '',
  sendtil_postnr varchar(100) NOT NULL dafault '',
  personlig_besked varchar(100) NOT NULL default '',
) TYPE=MyISAM;
Avatar billede freos Nybegynder
16. april 2004 - 00:33 #13
ved godt at varchar(100) måske er lidt for stor men det er den jeg bruger når jeg tester databaser :)
Avatar billede freos Nybegynder
16. april 2004 - 00:34 #14
koden satte efterkrav i databasen til: 'on' da det var den jeg valgte på siden :) og de andre to var tomme
Avatar billede freos Nybegynder
16. april 2004 - 00:36 #15
og jeg lavede 2 filer som hed: checkout.html og kasse.php
Avatar billede anetteogjesper Nybegynder
19. april 2004 - 13:02 #16
Tusind tak freos for besvarelsen  :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester