25. oktober 2003 - 23:48
Der er
7 kommentarer og 1 løsning
Duplicate ting ved mere end én insert
Jeg har lavet en form. Men når jeg har smidt mere end 1 række i, så skriver den: Duplicate entry '' for key 2 Hvad i alverdenm betyder det, og hvor retter jeg fejlen. Går ud fra den ligger i database strukturen, og ikke i scriptet.
Annonceindlæg fra Barco
25. oktober 2003 - 23:50
#1
Og så lige en anden ting. De felter jeg har indtastet, der står ikke noget i dem i tabellen. De er tomme bortset fra id som bliver sat af sig selv. Jeg er ret sikker på det ikke er mine variabler den er gal med.
25. oktober 2003 - 23:53
#2
hvis der ikke står noget i felterne, og eet af dem er unique, får du den fejl, for så er der jo to tomme felter - det siger du der ikke må være. Kig derfor på det sted du putter ting i tabellen - der har du en fejl. Felterne skal jo nok ikke være tomme.
25. oktober 2003 - 23:59
#3
Det kan godt være det er mig der er dum. Men er der noget galt i at gøre sådan her: $tvlogin = htmlspecialchars($login,ENT_QUOTES); $tvpass = htmlspecialchars($pass,ENT_QUOTES); $tvfirstname = htmlspecialchars($firstname,ENT_QUOTES); $tvlastname = htmlspecialchars($lastname,ENT_QUOTES); $tvemail = htmlspecialchars($email,ENT_QUOTES); $tvcontact_number = htmlspecialchars($contact_number,ENT_QUOTES); $insert = "INSERT INTO users(login,pass,firstname,lastname,email,contact_number) VALUES('$login','$pass','$firstname','$lastname','$email','$contact_number')"; mysql_query($insert) || die(mysql_error()); ?
26. oktober 2003 - 00:13
#4
$insert = "INSERT INTO users(login,pass,firstname,lastname,email,contact_number) VALUES('$tvlogin','$tvpass','$tvfirstname','$tvlastname','$tvemail','$tvcontact_number')";
26. oktober 2003 - 00:17
#5
Hmm... Det jeg vil gøre med ex $tvlogin, er at køre den gennem htmlspecialchars, så den nye var der kommer ud af det hedder $login. Men hvis jeg sætter $tvlogin i tabellen, er der vel ingen grund til at køre den igennem htmlspe... Eller er der noget jeg har misforstået?
26. oktober 2003 - 00:19
#6
Men selv om jeg ændre det til $tv, siger den stadig Duplicate entry '' for key 2 .
26. oktober 2003 - 00:20
#7
Så skal du nok beholde din sql-sætning som den var og skrive $login = htmlspecialchars($tvlogin,ENT_QUOTES); og tilsvarende
26. oktober 2003 - 00:24
#8
EJ DOH!!! Nå. Kunne være jeg skulle gå i seng. Mange tak for alt din hjælp.
Computerworld tilbyder specialiserede kurser i database-management