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.