Ak chcete vytvárať dynamické webové aplikácie, budete musieť pracovať s databázou. Najčastejšie sa v kombinácii s PHP používa MySQL . V tomto článku sa dozviete, ako sa pripojiť k databáze, vkladať a získavať dáta a zabezpečiť bezpečnosť vášho kódu.
MySQL je relačný databázový systém, ktorý umožňuje efektívne uchovávanie a správu dát. PHP má zabudovanú podporu pre MySQL, vďaka čomu je táto kombinácia veľmi populárna pri vývoji webových aplikácií.
Práca s MySQL umožňuje:
Pred začatím práce s MySQL v PHP je potrebné mať nainštalované:
Odporúčaný spôsob inštalácie je použitie XAMPP, ktorý obsahuje Apache, MySQL a PHP v jednom balíku.
Na pripojenie k databáze MySQL môžete použiť rozšírenie MySQLi alebo PDO. Tu je príklad pripojenia pomocou MySQLi:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "moja_databaza";
// Vytvorenie pripojenia
$conn = new mysqli($servername, $username, $password, $database);
// Kontrola pripojenia
if ($conn->connect_error) {
die("Chyba pripojenia: " . $conn->connect_error);
}
echo "Pripojenie úspešné!";
?>
new mysqli() – vytvorí pripojenie k databáze.$conn->connect_error – kontroluje, či sa pripojenie podarilo.die() – zastaví skript v prípade chyby.Ak chcete do databázy vložiť údaje, môžete použiť SQL príkaz INSERT:
<?php
$sql = "INSERT INTO uzivatelia (meno, email) VALUES ('Peter', 'peter@example.com')";
if ($conn->query($sql) === TRUE) {
echo "Úspešne pridaný záznam";
} else {
echo "Chyba: " . $conn->error;
}
?>
Na získanie údajov použite SQL príkaz SELECT:
<?php
$sql = "SELECT id, meno, email FROM uzivatelia";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Meno: " . $row["meno"]. " - Email: " . $row["email"]. "<br>";
}
} else {
echo "Žiadne výsledky";
}
?>
Použitie priamych vstupov od používateľov bez ich spracovania je nebezpečné. Bezpečnejším riešením je použitie pripravených SQL dotazov:
<?php
$stmt = $conn->prepare("INSERT INTO uzivatelia (meno, email) VALUES (?, ?)");
$stmt->bind_param("ss", $meno, $email);
$meno = "Martin";
$email = "martin@example.com";
$stmt->execute();
$stmt->close();
?>
Po pripojení vypíšte správu echo "Pripojenie úspešné!". Ak sa zobrazí chyba, skontrolujte nastavenia.
Použite príkaz SELECT ... WHERE, napríklad:
$sql = "SELECT * FROM uzivatelia WHERE id=1"; $result = $conn->query($sql);
MySQLi je rýchlejšie pre MySQL, ale PDO podporuje viac databázových systémov.
Ak máte záujem o prezenčné alebo online školenie programovania v PHP, pozrite si našu ponuku na www.like-it.sk. Naše kurzy vedú skúsení odborníci, ktorí vám pomôžu zvládnuť základy aj pokročilé koncepty programovania.
Viac informacií preberáme na kurze:
Kurz PHPMYSQLAJAX - Tvorba webových stránok od základov v PHP a MySQL
Marián Knězek