Forberedelser i SQL
Er kaffetrakteren på? Det bør den være. Og ikke vær gjerrig! Noe av vitsen
med at vi putter inn data må være at vi kan lagre dem for senere bruk. Og for
lagring av data er ingenting bedre enn en database. I vårt tilfelle: MySQL.
Du må gjerne bruke Access eller Oracle, men jeg bruker altså MySQL fordi det
er gratis, og det er det webserveren min støtter. Databaser har store fordeler
fremfor andre lagringsmetoder (feks en tekstfil): De er søkbare på alle
nivåer, de har en del innebygget funksjonalitet og de er mye sikrere enn en fil.
En kan alltids komme seg inn på en webserver og laste ned en fil, men databasen
vil fortsatt være beskyttet. Skulle man være så svineheldig å komme inn i databasen
vil informasjonen her likevel være av beskjeden nytte - siden passord kan lagres
kryptert. OBS: I dette eksempelet lagres passordet i klartekst!
Å lage en database
I de fleste tilfeller vil du kun ha tilgang på én database. Dette er imidlertid
ikke et problem, da en MySQL-database kan inneholde mange tusen tabeller.
En database er bygget opp av tabeller, nemlig, som igjen er bygget opp av
felter. Og i dette tilfellet vil jeg at vår tabell skal se slik ut:
+--------------------------------------------------+
| DataBase: medlemsdata |
| Table: medlem |
+--------------------------------------------------+
| Feltnavn | Type | Lengde | Null |
+--------------------------------------------------+
| brukernavn | varchar | 20 | Nei |
| passord | varchar | 20 | Nei |
| epost | varchar | 30 | Nei |
| avatar | varchar | 30 | Ja |
+--------------------------------------------------+
Jeg skjønner ingenting!
Ingen fare. Jeg skal forklare alt, det eneste du behøver å gjøre er
å drikke kaffen din og følge med. Så gjør det, da! Start opp MySQL,
eller evt phpMyAdmin om du har tilgang til det. Sistnevnte er kanskje
enklest, så vi bruker den. For å gjøre dette veldig lettvint har jeg bare
lagt de nødvendige SQL-setningene tilgjengelige under, så bare putt dem inn
i phpMyAdmin i vinduet "Kjør SQL-spørring mot database" og klikk Utfør.
Du må ha en database for at dette skal fungere, spør din server-support
om hjelp til å lage en database.
CREATE TABLE medlem (brukernavn VARCHAR(20) not null, passord VARCHAR(20) not null,
epost VARCHAR(30) not null, avatar VARCHAR(30));
Det meste er vel selvforklarende bortsett fra "null" - det betyr rett og slett om vi skal tillate at feltet
er tomt eller ikke. Avatar (et bilde) er et typisk slikt felt, siden det ikke gir noen nødvendig
informasjon om brukeren. VARCHAR er en felttype som tillater forskjellige typer strenger,
i motsetning til f eks INT (heltall) eller CHAR (bokstaver).
Testing, testing ... failed
Jeg har testet setningen over i min phpMyAdmin og det fungerte strålende, men
du kan jo likevel komme ut for problemer. Tro meg; selv om noe fungerer 100% på en konfigurasjon
er det langt fra sikkert at det gjør det på en annen. Sjekk først at du har fått med
alle tegn. Deretter bør du dobbeltsjekke at du har en database
og at du har tillatelse til å lage nye tabeller. Er dette i orden men ingenting fungerer
kan du jo prøve å komme tilbake til nettnett.net's forum og stille et spørsmål der. Nå
er det endelig på tide med litt skikkelig PHP-programmering! Jippi!
:.forrige :.: neste.:
|