Tento tutoriál vás provede základy používání databáze MySQL v PHP. Naučíte se, jak se připojit k databázi, provádět SQL dotazy a zpracovávat výsledky. Budeme používat objektově orientovaný přístup pro větší přehlednost a udržitelnost kódu.
\n\nPřed začátkem je nutné mít nainstalovaný MySQL server a PHP na vašem serveru (nebo lokálním počítači s XAMPP, WAMP, nebo podobným serverovým stackem). Pokud už je máte nainstalované, můžete tuto část přeskočit.
\n\nPrvním krokem je navázání spojení s MySQL databází. K tomu použijeme funkci mysqli_connect()
. V kódu nahraďte 'localhost'
, 'username'
, 'password'
a 'database_name'
vašimi skutečnými údaji.
connect_error) {\n die(\"Spojení selhalo: \" . $conn->connect_error);\n}\n?>
\n\nPo navázání spojení můžeme provádět SQL dotazy pomocí funkce mysqli_query()
. Zde je příklad dotazu pro výběr všech položek z tabulky users
:
query($sql);\n\nif ($result->num_rows > 0) {\n // Výsledek obsahuje data\n while($row = $result->fetch_assoc()) {\n echo \"ID: \" . $row[\"id\"]. \" - Name: \" . $row[\"name\"]. \" - Email: \" . $row[\"email\"]. \"
\";\n }\n} else {\n echo \"Žádné výsledky.\";\n}\n?>
\n\nFunkce mysqli_query()
vrací objekt mysqli_result
. Pomocí metod num_rows
a fetch_assoc()
můžeme získat počet řádků a jednotlivé řádky jako asociativní pole.
Po dokončení práce s databází je důležité uzavřít spojení pomocí funkce mysqli_close()
:
close();\n?>
\n\nVelmi důležité je chránit se před SQL Injection. Nikdy nevkládejte uživatelské vstupy přímo do SQL dotazů. Používejte připravené příkazy (prepared statements) nebo escapování (escaping) dat.
\n\nprepare(\"SELECT id, name, email FROM users WHERE name = ?\");\n$stmt->bind_param(\"s\", $name); // 's' značí string\n$name = $_GET[\"name\"]; // Uživatelský vstup\n$stmt->execute();\n$result = $stmt->get_result();\n// ... zpracování výsledku\n$stmt->close();\n?>
\n\nTento tutoriál pokrývá jen základní použití MySQL v PHP. Pro pokročilejší techniky, jako je práce s transakcemi, stored procedures a optimalizace dotazů, se podívejte na oficiální dokumentaci MySQL a PHP.
Související návody
Jak používat PDO v PHP: Bezpečný přístup k databázím
Jak používat MySQL v PHP
Jak pracovat s datovými typy v PHP
Komentáře