Avatar billede b-jacobsen Nybegynder
31. juli 2005 - 12:44 Der er 19 kommentarer og
2 løsninger

Kan hente svar fra MySql database, men kan ikke indsætte data!

Hej allesammen,
Jeg er i gang med mit førtte spæde forsøg ud i PHP og database, men har nu i 4 dage forsøgt at indsætte data i databasen, men uden held. De data jeg har lagt i databasen gennem phpMyAdmin kan jeg hente uden problemer. Min side ligger hos Surftown. -www.kskp.dk
Her er det script jeg bruger til formen og til at sende til databasen: Håber virkelig der er en behjertet sjæl der kan hjælpe, på forhånd tak!
OBS. Jeg skal på arbejde fra kl. 14,00 til 22,00 kan læse jeres svar på arbejdet, men ikke afprøve svarene før efter kl. 22,00
<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Formular</title>
</head>

<body>
<form name="svarskema" method="POST" action="svarskema.php">
<p>Skriv navn:&nbsp; <input type="text" name="navn" size="40" maxlength="50"></p>
<p>Skriv telefonnummer her: <input type="text" name="tlf" size="30" maxlength="50"></p>
<p>Skriv e-mail adresse: <input type="text" name="email" size="40" maxlength="50"></p>
<input type="submit" name="send" value="Send data"> 
</form>

<?php
// Hent indholdet af formularens felter
$navn = $_REQUEST["navn"];
$tlf = $_REQUEST["tlf"];
$email = $_REQUEST["email"];
// Skab forbindelse til databasen her
mysql_connect("mydb2.surf-town.net", "XXXXXX", "XXXXXX") or die(mysql_error());
mysql_select_db("ksweb_database") or die(mysql_error());
//Indsæt indholdet af formularfelterne i databasen
mysql_query("INSERT INTO svarskema(svarID, navn, tlf, email) values(0, '$navn', '$tlf', '$email')");
?>


</body>

</html>
Avatar billede kdjweb Nybegynder
31. juli 2005 - 12:46 #1
prøv at indsætte
echo mysql_error(); efter insert query
Avatar billede arne_v Ekspert
31. juli 2005 - 12:49 #2
jeg undrer mig over at du vil indsætte 0 som ID !

hvis det er et auto_increment felt kan du undlade det helt:

mysql_query("INSERT INTO svarskema(navn, tlf, email) values('$navn', '$tlf', '$email')");
Avatar billede b-jacobsen Nybegynder
31. juli 2005 - 12:52 #3
Hej, Kan du præsisere nøjagtigt hvor det skal sættes ind?
Avatar billede kdjweb Nybegynder
31. juli 2005 - 12:53 #4
anre_v > 0 er ingen værdi, det betyder intet hvis der står 0 og der er auto_increment
Avatar billede kdjweb Nybegynder
31. juli 2005 - 12:54 #5
//Indsæt indholdet af formularfelterne i databasen
mysql_query("INSERT INTO svarskema(svarID, navn, tlf, email) values(0, '$navn', '$tlf', '$email')");
echo mysql_error();
Avatar billede arne_v Ekspert
31. juli 2005 - 12:55 #6
jeg ville bare erstatte den mysql_query du har

og det kan kun forklare din fejl, hvis du allerede har indsat en række og
nu fejler de efterfølgende indsæt på grund af duplicate key
Avatar billede arne_v Ekspert
31. juli 2005 - 12:55 #7
kdjweb>

0 er en værdi
NULL er ikke en værdi
Avatar billede b-jacobsen Nybegynder
31. juli 2005 - 12:56 #8
Hej arne_v: Jeg sidder med et hæfte skrevet af Britt Malka, ifølge hende skal Feltet ID vare af datatypen TINYINT og nulværdien være nul og auto_increment - Er det forkert?
Avatar billede arne_v Ekspert
31. juli 2005 - 12:58 #9
jeg vil umiddelbart sige at INT AUTO_INCREMENT lyder bedre

(ellers kan du ikke indsætte ret mange rækker)
Avatar billede b-jacobsen Nybegynder
31. juli 2005 - 13:00 #10
Hej kdjweb, Ja efter at have indsat - echo mysql_error();, får jeg følgende fejl - Unknown column 'svarID' in 'field list'
Avatar billede kdjweb Nybegynder
31. juli 2005 - 13:02 #11
0 er ingen værdi ifølge min query.
Avatar billede kdjweb Nybegynder
31. juli 2005 - 13:02 #12
den kan ikke finde kolonnen svarID i din tabel
Avatar billede arne_v Ekspert
31. juli 2005 - 13:03 #13
fejl beskeden er jo ret klar - den siger at tabellem svarskema ikke har et felt svarID ...
Avatar billede b-jacobsen Nybegynder
31. juli 2005 - 13:04 #14
Skal kolonnen bare rettes til "Ikke nul"?
Avatar billede arne_v Ekspert
31. juli 2005 - 13:06 #15
du skal rette feltnavnet
Avatar billede kdjweb Nybegynder
31. juli 2005 - 13:06 #16
jacebsen, er du sikker på at du har stavet kolonne navn rigtigt?

ellers så erstat:
mysql_query("INSERT INTO svarskema(svarID, navn, tlf, email) values(0, '$navn', '$tlf', '$email')");

med arne_v's:
mysql_query("INSERT INTO svarskema(navn, tlf, email) values('$navn', '$tlf', '$email')");
Avatar billede b-jacobsen Nybegynder
31. juli 2005 - 13:09 #17
Ja Hurra nu ser det ud til at virke, tusind tak begge 2 vil i dele point?
Avatar billede kdjweb Nybegynder
31. juli 2005 - 13:10 #18
hehe, jeg vil ikke have pointsne alene :)
Avatar billede arne_v Ekspert
31. juli 2005 - 13:12 #19
ok
Avatar billede b-jacobsen Nybegynder
31. juli 2005 - 13:14 #20
Så skulle pointene være fordelt endnu engang tak!
Avatar billede kdjweb Nybegynder
31. juli 2005 - 13:18 #21
tusind tak :)
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