Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Høgskolen i Oslo Webprogrammering SQL og databaser del 1.

Liknende presentasjoner


Presentasjon om: "Høgskolen i Oslo Webprogrammering SQL og databaser del 1."— Utskrift av presentasjonen:

1 Høgskolen i Oslo Webprogrammering SQL og databaser del 1

2 I dag l Databaser og MySQL –Regner med at alle har inngående kjennskap til dette da alle har faget databaser. –Går ikke igjennom SQL i dette faget! l Introduksjon til MySQL og PHP –Gjennomgått raskt i databasekurset. –Mer grundig gjennomgang l Litt om de ulike grafiske databaseverktøyene –HeidiSQL, SQL Admin, phpMyAdmin

3 For å bruke SQL i PHP l Knytte til server hvor databasen ligger l Knytte til databasen l Lage en sql setning l Utføre denne l Ved select loop’e igjennom resultatet l Feilhåndtering

4 SQL i PHP (uten feilhåndtering) Single funtter ! Bruker Passord Merk her er ikke nummeret lagt inn (autonummer)

5 Feilhåndtering knytning til DB:

6 Feilhåndtering med feilhåndterer:

7 Feilhåndtering SQL/Insert: include " connect-db "; $sql = "Insert INTO ansatt (Fornavn,Etternavn,Adresse,Postnr,Poststed)"; $sql.="Values ('Per','Hansen','Osloveien 82','0202','Oslo')"; $resultat = mysql_query($sql); if(!$resultat) { trigger_error(mysql_error()); echo "Feil, klarte ikke å sette inn data"; } elseif(mysql_affected_rows ()==0) { echo "Feil, ingen rader er satt inn"; } mysql_close($db_server); Ikke strengt tatt nødvendig

8 Select uten feilhåndtering include " connect-db "; $sql="Select * from ansatt"; $resultat = mysql_query($sql); $antallRader = mysql_affected_rows(); echo "Fornavn, Etternavn, Adresse, Postnr, Poststed "; for($i=0;$i<$antallRader;$i++) { $rad = mysql_fetch_array($resultat); echo $rad["Fornavn"].$rad["Etternavn"].$rad["Adresse"]; echo $rad["Postnr"].$rad["Poststed"]." "; }

9 Select med feilhåndtering $sql="Select * from ansatt"; $resultat = mysql_query($sql); if(!$resultat) { echo "Feil i henting av data fra databasen"; } else { $antallRader = mysql_affected_rows(); echo "Fornavn, Etternavn, Adresse, Postnr, Poststed "; for($i=0;$i<$antallRader;$i++) { $rad = mysql_fetch_array($resultat); echo $rad["Fornavn"].$rad["Etternavn"].$rad["Adresse"]; echo $rad["Postnr"].$rad["Poststed"]." "; } }

10 Alternativ Select med While (uten feilhåndtering) $sql="Select * from ansatt"; $resultat = mysql_query($sql); echo "Fornavn, Etternavn, Adresse, Postnr, Poststed "; while ($rad=mysql_fetch_array($resultat)) { echo $rad["Fornavn"].$rad["Etternavn"].$rad["Adresse"]; echo $rad["Postnr"].$rad["Poststed"]." "; }

11 Array med dobbel informasjon: IndeksNøkkelVerdi 001 1Nr1 21Per 3FornavnPer 42Olsen 5EtternavnOlsen 63Osloveien 4 7AdresseOsloveien Postnr Oslo 11PoststedOslo Array $sql = "SELECT * FROM person"; $resultat = mysql_query($sql); $rad = mysql_fetch_array($resultat); Tabell NrFornavnEtternavnAdressePostnrPoststed 1PerOlsenOsloveien 41002Oslo 2KnutPettersenGata Hamar

12 Eksempel på returnert array: Array $sql = "SELECT * FROM person"; $resultat = mysql_query($sql); $rad = mysql_fetch_array($resultat MYSQL_ASSOC); Tabell NrFornavnEtternavnAdressePostnrPoststed 1PerOlsenOsloveien 41002Oslo 2KnutPettersenGata Hamar IndeksNøkkelVerdi 0Nr1 1FornavnPer 2EtternavnOlsen 3AdresseOsloveien 4 4Postnr1002 5PoststedOslo

13 Lagre fra et skjema: Fornavn: Etternavn: Adresse: Postnr: Poststed:

14 Hente data fra skjema og lagre if(isset($_REQUEST["knapp"])) { $fornavn=$_REQUEST["fornavn"]; $etternavn=$_REQUEST["etternavn"]; $adresse=$_REQUEST["adresse"]; $postnr=$_REQUEST["postnr"]; $poststed=$_REQUEST["poststed"]; $sql = "Insert INTO ansatt (Fornavn,Etternavn,Adresse,Postnr,Poststed)"; $sql.="Values ('$fornavn','$etternavn','$adresse','$postnr','$poststed')"; $resultat = mysql_query($sql); if(!$resultat) { echo "Feil, klarte ikke å sette inn data". mysql_error(); } elseif(mysql_affected_rows ()==0) { echo "Feil, ingen rader er satt inn"; } } Enklere å lese lokale variabler her

15 Slette data 0) { echo " * Persondata er slettet * "; } else { echo " * Fant ikke etternavnet for sletting * "; } } else { echo mysql_error(); } Skriv etternavnet til personen for sletting: slettEtternavn Merk single fnutt før dobbel!

16 Oppdatere, sjekk for endring 0) { echo " * Persondata er endret * "; } else { echo " * Fant ikke etternavnet for endring * "; } } else { echo mysql_error(); } som skal endres: Prikksyntaks med REQUEST array rett i SQL

17 Vise bilde fra database

18 Databaseverktøy l Putty l HeidiSQL –På lab, freeware, enkel l MySQL workbench –Freeware, mer avansert, ikke på lab l phpMyAdmin –Følger med XAMPP når det installeres lokalt


Laste ned ppt "Høgskolen i Oslo Webprogrammering SQL og databaser del 1."

Liknende presentasjoner


Annonser fra Google