Avatar billede drj68 Nybegynder
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>
&nbsp;<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!
Avatar billede erikjacobsen Ekspert
29. december 2003 - 21:55 #1
Din $insertSQL har 4 navngivne felter, men kun 3 værdier.
Avatar billede detox Nybegynder
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"]."')";
Avatar billede erikjacobsen Ekspert
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!
Avatar billede detox Nybegynder
29. december 2003 - 22:07 #4
erik -> Ja, medmindre man vil have en spritny tabel hver gang ;o)
Avatar billede detox Nybegynder
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"];
}
?>
Avatar billede drj68 Nybegynder
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??
Avatar billede detox Nybegynder
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 />";
}
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