Mysqli i PHP bruges til at oprette forbindelse til og lave SQL-opslag i en MySQL- eller MariaDB-database
Forbindelse til database
<?php
//ny databaseforbindelse oprettes i variablen $conn
$conn = new mysqli('host', 'username', 'password', 'db_name');
//hvis forsøg på forbindelse giver en fejl udskrives en besked samt fejlnummer
if($conn->connect_error){
//funktionen die stopper scriptet og udskriver en meddelelse
die('Error connecting to database: ' . $conn->connect_errno);
}
$conn->set_charset('utf8');
CRUD
Create Read Update Delete
INSERT (create)
<?php
//en SQL-sætning til at indsætte data
$sql = "INSERT INTO table_name (table_row1, table_row2)
VALUES ('value_1', 'value_2')";
//SQL-sætningen sendes til databasen via forbindelse, der er i variablen $conn
$conn->query($sql);
SELECT (read)
<?php
//en SQL-sætning til at hente data
$sql = "SELECT table_row1, table_row2
FROM table_name";
//resultatet fra SQL-kaldet gemmes i variablen $result
$result = $conn->query($sql);
//da der ikke er antal på, hvor mange resultater der er fra databasekaldet udskrives resultaterne med et while-loop
while($row = $result->fetch_object()){
echo $row->table_row1;
echo $row->table_row2;
}
Ønsker man at modtage data i et associative array i stedet for i et objekt kan følgende while-loop bruges
while( $row = $result->fetch_assoc() ) {
echo $row['table_row1'];
}
UPDATE
<?php
//en SQL-sætning til at opdatere data
//for at ændre data det rigtige sted er det vigtigt at have en WHERE-klausul på, der i dette tilfælde er, hvor id er 1.
$sql = "UPDATE table_name
SET table_row1 = 'data', table_row2 = 'data'
WHERE id = 1";
$conn->query($sql);
DELETE
<?php
//en SQL-sætning til at slette data
//hele rækken i tabellen, hvor id er 1 bliver slettet
$sql = "DELETE FROM table_name
WHERE id = 1";
$conn->query($sql);