26. januar 2006 - 10:53Der er
18 kommentarer og 1 løsning
INSERT INTO virker ikke!
Hej eksperter Jeg er for første gang, ved at forsøge med en db. Jeg er ikke noget jern til det endnu. Mit problem er en medlemdb som jeg godt kan oprette medlemmer i hvis jeg gør det via phpMyAdmin, jeg kan også godt hente, disse ud via hjemmesiden. Men jeg kan ikke via hjemmesiden putte noget ind.
OK der er godt nok kun 8 felter i den anden (jeg har $rki med i den originale version)Jeg har udeladt id og dato. id er i basen sat auto_increment og dato er timestamp, så den skal vel heller ikke med? Eller hvad?
Nå nu har jeg prøvet at rette så der står: INSERT INTO klienter (id, fornavn, efternavn, adresse, adresse2, postnr, by, tlf, rki, vet, dato) values(0, '$id','$fornavn','$efternavn','$adresse','$adresse2','$postnr','$by','$tlf','$rki','$vet','$dato')
Hvis du vil kalde dine kolonner for if, limit, password, by eller andet der har en betydning i programmeringen, så skal du have ` omkring. Også hvis du vil have mellemrum eller danske bogstaver i feltnavnene.
Det er en god ide at have nogle faste regler for hvordan man navngiver felter og andet. Ofte vælger man at give navnene et prefix der angiver datatypen, så bliver det lettere at huske hvilken datatype man har brugt og man undgår også de reserverde ord:
Navn skal være strNavn Dato skal være dtmDato
Endvidere bruger man b for Bit, i for integer, flt for float
(Jeg husker ikke datatyperne i MySql, bruger selv MSSQL)
Normen er også at kalde primærnøglen for TabelnavnID, så dit id skulle have heddet KlienterID. Endvidere er det normalt ikke at bruge flertal i tabelnavne, så selvom det er en liste over klienter vil man kalde tabellen for Klient, og id'et for KlientID. Det kommer hurtigt til at virke logisk, og du vil have lettere ved på et tidspunkt at samarbejde med andre programmører/databasedesignere
Tak for de gode råd til dig Ida jeg tror faktisk at vil rette min database til efter dine anvisninger. Men desværre har jeg også prøvet mkjaer's råd og det virker heller ikke, så det problem tager jeg først.
YES! Tak til "mkjaer" Fejlen var ( values(0, NULL, etc. etc. ) Jeg havde glemt at fjerne "0". Hvis mkjaer vil være så venlig at lægge et svar, der venter nogle velfortjente point. Og iøvrigt tak til alle, det er dejligt at at der er nogle hårdt arbejdende mennesker der gider hjælpe en dum amatør :-) Michael
Et lille tillægsspørgsmål! Nu kan jeg oprette via hjemmesiden, men for hvert medlem der oprettes laves der en ekstra tom, dvs. der dannes kun et id og en dato? Hvad har jeg gjort galt. hvis en af jer kan "knække" den, lægger jeg gerne 50p i puljen. Michael
Okay jeg har rodet lidt mere med det, det der sker er at det "tomme skema" åbentbart "submitter" sig selv når siden kaldes via menuen. Hvis jeg trykker et antal gange på sidemenuknappen, resulterer det et lig antal tomme medlemkort. Menu knappen er bare en simpel <a href="xxx.php" target="_self">Indtast</a> så det er vel ikke der den ligger.
Tusind tak! desværre så jeg ikke dit sidste svar før sidst på eftermiddagen, så jeg fandt selv på en anden løsning. Som, indrømmet, er noget mere besværlig end din lille fikse sag :-) Jeg bad "submit" sende til en anden side. Her havde jeg så lagt php-koden. BESVÆRLIGT? JA! Men det virker da! Michael PS. Mellem os i dette lille forum så tror jeg nok jeg retter det til dit forslag :-)
Og så lægger jeg lige et 50p spørgsmål til "mjkaer", som du lige kan svare på.
Synes godt om
Ny brugerNybegynder
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.