2 – Spørringer mot databaser i PHP



Charts

2 – Spørringer mot databaser i PHP

av Ole Petter den 27. juli 2019

Sist oppdatert: 15 september, 2019 kl 10:37

For å hente informasjon fra databaser brukes et server-språk til å kommunisere med den. PHP er et slikt språk, som ofte er brukt sammen med tradisjonelle relasjonsdatabaser slik som i dette tilfellet MySQL.

I forrige innlegg kan du lese om hvordan komme i gang med php: https://smorasstats.com/PORTFOLIO/nyheter/2019/07/26/grunnleggende-php/

For å hente informasjon fra databasen må man lage en spørring, da brukes SELECT som er SQL sin syntaks for å velge elementer fra databasen.
Et eksempel på en SQL-spørring: 

«SELECT * FROM users WHERE id = $_SESSION[‘id’]»;

Denne spørringen velger alle (*) radene fra tabellen users, samt de tilhørende kolonnene. For å gjøre denne spørringen i PHP må man først bruke tilkoblingen til databasen knyttet via en variabel, som ofte er $link, $conn eller $db. For eksempel:

$link = mysqli_connect(‘localhost’, ‘root’, ‘ ‘, ‘brukere’);

Samme teknikken bruker man for å gjøre en spørring mot databasen i PHP:

$sql = «SELECT * FROM users WHERE id = $_SESSION[‘id’]»;

For å vise informasjonen man henter fra spørringen i en nettside, må man bruke en PHP-funksjon kalt echo, som viser i form av for eksempel tekst innholdet i tabellen. Men først må man altså knytte informasjonen man har hentet fra spørringen opp mot databasen til en variabel, for eksempel $result, ved hjelp av en annen PHP-funksjon kalt mysqli_query(); Eksempel:

$result = mysqli_query($link, $sql);

Her bruker man altså da variablene som er festet til henholdsvis tilkoblingen til databasen, og spørringen mot databasen, og fester en variabel til disse. Deretter må man hente informasjonen fra raden(e) i tabellen ved hjelp av en funksjon kalt mysqli_fetch_array(); Eksempel:

$row = mysqli_fetch_array($result);

Så til slutt, for å vise innholdet som er hentet fra databasen, må man bruke den nevnte funksjonen echo til å sendte ut innholdet.

Samlet ser koden slik ut:

MySQL PHP
Spørringer mot databaser i PHP
Legg igjen en kommentar