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
Annonceindlæg fra itavis
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 ()
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>
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)
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 :)
15. april 2004 - 11:24
#6
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
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());
15. april 2004 - 16:53
#9
nej for det er ikke " men to af diss ' '
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
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?
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;
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 :)
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
16. april 2004 - 00:36
#15
og jeg lavede 2 filer som hed: checkout.html og kasse.php
19. april 2004 - 13:02
#16
Tusind tak freos for besvarelsen :-)
Vi tilbyder markedets bedste kurser inden for webudvikling