ummairt Skrevet 20. april 2007 Del Skrevet 20. april 2007 (endret) Heisann , Relativt ny på SQL og php . Lager en tabell som heter KundeInfo, med tre atributter som er KundeId(primary key), kundenavn, og kundepassord. Denne sql tabellen er koblet til databasen gjennom PHP, når jeg skal registrere en ny bruker så må jeg gjøre så mye som kundeID+1.... har prøvd å lage kundetabellen på nytt syntaksen under, men det fungerte uheldigvis ikke... Hvis jeg får til dette så vet jeg at jeg kommer til å slite med php koden også, fordi der har jeg koden (skjult) ... jeg legger inn bar 4343 for å få det til å fungere EN gang, men må tydeligvis gjøre noe annet hvis jeg får tabellatributtene i orden. mvh U.T $query= "insert into kundeinfo(kundeid, kundenavn, kundepassord values(4343, '$navn', '$kundepassord)". CREATE TABLE kundeinfo( KundeID INT NOT NULL auto_increment, Kundenavn CHAR(20) NOT NULL, Kundepassord CHAR(15) NOT NULL ); Endret 29. april 2007 av ummairt Lenke til kommentar
j-- Skrevet 20. april 2007 Del Skrevet 20. april 2007 $query= "INSERT INTO kundeinfo(kundeid, kundenavn, kundepassord) VALUES ('4343', '$navn', '$kundepassord)"; Mulig denne fungerer bedre. Det var en parentes som ikke var lukket bl.a. Lenke til kommentar
ummairt Skrevet 20. april 2007 Forfatter Del Skrevet 20. april 2007 (endret) $query= "INSERT INTO kundeinfo(kundeid, kundenavn, kundepassord) VALUES ('4343', '$navn', '$kundepassord)"; Mulig denne fungerer bedre. Det var en parentes som ikke var lukket bl.a. 8433943[/snapback] Beklager, min feil.!! Men det løser ikke problemet. Det er ikke akkurat 4343 jeg ønsker å putte inn i tabellen som KundeID. Jeg ønsker å oppdatere hver neste forekomst etter feks.4343 med ett mer dvs 4343+1..... Mvh U.T Endret 20. april 2007 av ummairt Lenke til kommentar
j-- Skrevet 21. april 2007 Del Skrevet 21. april 2007 $query= "INSERT INTO kundeinfo(kundenavn, kundepassord) VALUES ('$navn', '$kundepassord)"; For hver rad du setter inn nå vil kundeid bli ett hakk høyere. ps: bruk varchar istedenfor char i tabellen din. Om du bruker char(20) vil alltid 20 bytes bli brukt i det feltet, istedenfor 13 som kanskje er hvor mange tegn som faktisk feltet inneholder Lenke til kommentar
ummairt Skrevet 21. april 2007 Forfatter Del Skrevet 21. april 2007 Hei, Takk for svar , men når jeg prøver å opprette tabell med auto_increment så får jeg en feilmelding som sier at , det var feil på linje 1 Lenke til kommentar
Loomy Skrevet 21. april 2007 Del Skrevet 21. april 2007 (endret) Hvilken SQL bruker du for å opprette tabellen da? EDIT: Stod i førsteposten det ja EDIT2: Prøv denne: CREATE TABLE `kundeinfo` ( `id` INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `kundenavn` VARCHAR( 100 ) NOT NULL , `passord` VARCHAR( 50 ) NOT NULL ); Endret 21. april 2007 av Loomy Lenke til kommentar
ummairt Skrevet 21. april 2007 Forfatter Del Skrevet 21. april 2007 Hvilken SQL bruker du for å opprette tabellen da? EDIT: Stod i førsteposten det ja EDIT2: Prøv denne: CREATE TABLE `kundeinfo` ( `id` INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `kundenavn` VARCHAR( 100 ) NOT NULL , `passord` VARCHAR( 50 ) NOT NULL ); 8438321[/snapback] Fikk løst dette problemet ved å lage en sekvens, og ifra legge inn sekvens.nexval inn i kundeID Nå har jeg et nytt problem, kundeid blir oppdatert greit, men om kundenavnet eksisterer fra før så skal det genereres en feilmelding (VIA PHP)... Har en liten ide om at det skal løpes igjennom tabellen som heter kundenavn... Men finner ikke helt syntaksene som skal brukes ... Klikk for å se/fjerne innholdet nedenfor $query1="select * from kundenavn";$stmt = baseQuery($conn, $query1); //hva skal jeg gjøre etter dette Lenke til kommentar
ofredstie Skrevet 21. april 2007 Del Skrevet 21. april 2007 (endret) Nå har jeg et nytt problem, kundeid blir oppdatert greit, men om kundenavnet eksisterer fra før så skal det genereres en feilmelding (VIA PHP)... Har en liten ide om at det skal løpes igjennom tabellen som heter kundenavn... Men finner ikke helt syntaksene som skal brukes ... 8438543[/snapback] Alle slike "constraints" bør du prøve å legge inn i databasen, da slipper du mye ekstraarbeid. Du har ikke vurdert å bruke kundenavnet (brukernavnet) som primærnøkkel, da oppnår du det du ønsker (at alle kundenavnene skal være unike). Du kan i tillegg lagre kundeid, men ikke bruke det som primærnøkkel (definer kundeid som UNIQUE). Endret 21. april 2007 av ofredstie Lenke til kommentar
Peter Skrevet 30. april 2007 Del Skrevet 30. april 2007 AUTO_INCREMENT er ikke en del av SQL-standarden, selv om den etter min mening burde være det så mye som det brukes. Den "riktige" måten å gjøre dette på er via SEQUENCES. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå