29. december 2003 - 21:52
Der er
7 kommentarer
problemer med script
Jeg har lavet et script hvor man indtaster nogle oplysninger i en html form hvorefter dataerne går over til en php fil somså indsætter dem i en database.. jeg har brugt phpmyadmin til det.. jeg kan ikke rigtig få scriptet til at virke! den kommer med denne fejlmeddelelse: Column count doesn't match value count at row 1 scriptet ser sådan ud default3.php det er her man indtaster oplysningerne <head> <title>form</title> </head> <body> <form action="default2.php" method="post"> <input type="text" name="navn" size="20"> <p> fabrikant: <input type="text" name="fabrikant" size="20"><p> daeknavn: <input type="text" name="daek_id" size="20"><p> tekst: <input type="text" name="tekst" size="20"><p> kategori: <input type="text" name="kategori" size="20"><p> <p> <input type="submit" value="Tag mit input"> </form> </body> default2.php her kommer dataerne hen <?php $conn = mysql_connect("localhost", "root", ""); mysql_select_db("mybase") or die(mysql_error()); $tabelSQL = "create Table daktabel ( id auto_increment primary fabrikant varchar(50) daek_id int tekst varchar(50) kategori_ID integer, )"; mysql_query($tabelSQL); $insertSQL = "insert into daktabel (kategori_ID, fabrikant, daek_id, tekst) values ('".$_REQUEST["fabrikant"]."', '".$_REQUEST["daek_id"]."', '".$_REQUEST["tekst"]."')"; mysql_query($insertSQL) or die(mysql_error()); $result = mysql_query("select * from daktabel") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo $row["fabrikant"]; } mysql_close(); ?> Håber i kan hjælpe mig!
Annonceindlæg fra Lector
29. december 2003 - 21:55
#1
Din $insertSQL har 4 navngivne felter, men kun 3 værdier.
29. december 2003 - 21:58
#2
$insertSQL = "insert into daktabel (kategori_ID, fabrikant, daek_id, tekst) values ('".$_REQUEST["kategori"]."', '".$_REQUEST["fabrikant"]."', '".$_REQUEST["daek_id"]."', '".$_REQUEST["tekst"]."')";
29. december 2003 - 22:00
#3
...det er forøvrigt lidt drastisk at oprette tabellen hver gang. Een gang oprettet skal den nok blive der!
29. december 2003 - 22:07
#4
erik -> Ja, medmindre man vil have en spritny tabel hver gang ;o)
29. december 2003 - 22:24
#5
Når du først har oprettet din tabel, burde du kunne nøjes med: <?php $conn = mysql_connect("localhost", "root", ""); mysql_select_db("mybase") or die(mysql_error()); $insertSQL = "insert into daktabel (kategori_ID, fabrikant, daek_id, tekst) values ('$_POST[kategori]', '$_POST[fabrikant]', '$_POST[daek_id]', '$_POST[tekst]')"; mysql_query($insertSQL) or die(mysql_error()); $result = mysql_query("select * from daktabel") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo $row["fabrikant"]; } ?>
29. december 2003 - 22:49
#6
okay... hvad gør jeg så hvis jeg vil have den til at udskrive dem alle sammen?? Er det bare sådan: echo $row["fabrikant", "daek_id"] osv??
29. december 2003 - 23:43
#7
Næ, i den her stil: while ($row = mysql_fetch_array($result)) { echo $row["kategori"]."<br />"; echo $row["fabrikant"]."<br />"; echo $row["daek_id"]."<br />"; echo $row["tekst"]."<br /><br />"; }
Vi tilbyder markedets bedste kurser inden for webudvikling