Vytvořte si AI tutoriál na míru! Vyzkoušejte generátor tutoriálů a ušetřete čas.

Jak používat PDO v PHP: Komplexní průvodce

Sdílet na sociálních sítích:
Napsal: Jan Kubice
PHP

Naučte se používat PHP Data Objects (PDO) pro bezpečné a efektivní připojení k databázím. Obsahuje příklady a vysvětlení.

Jak používat PDO v PHP: Komplexní průvodce

\n

PHP Data Objects (PDO) je lehká, konzistentní a flexibilní metoda pro přístup k databázím z PHP. Nabízí abstraktní vrstvu, která umožňuje pracovat s různými databázovými systémy (MySQL, PostgreSQL, SQLite, atd.) s minimálními změnami kódu. Tento tutoriál vás provede od instalace po pokročilé techniky.

\n\n

1. Instalace

\n

PDO je obvykle součástí standardní PHP instalace. Pokud ne, budete ho muset nainstalovat pomocí správce balíčků vašeho systému nebo zkompilováním PHP zdrojových kódů s podporou PDO. Pro ověření, zda je PDO instalováno, můžete použít funkci phpinfo().

\n
\n

Hledejte sekci \"PDO\" v výstupu. Pokud PDO není nainstalováno, budete muset upravit konfiguraci vašeho PHP serveru.

\n\n

2. Připojení k databázi

\n

K připojení k databázi použijete metodu PDO::__construct(). Potřebujete specifikovat DSN (Data Source Name), uživatelské jméno a heslo.

\n
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n} catch (PDOException $e) {\n  echo 'Připojení k databázi selhalo: ' . $e->getMessage();\n}\n?>
\n

your_database_name, your_database_host, your_username a your_password nahraďte vašimi daty. PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION nastavuje PDO aby hlásila chyby jako výjimky, což usnadňuje ladění.

\n\n

3. Příprava a spuštění dotazů

\n

Pro bezpečné provádění dotazů používejte připravená prohlášení (prepared statements). Tím se zabrání SQL injection.

\n
prepare(\"SELECT * FROM users WHERE id = ?\");\n$stmt->execute([1]); // Vkládáme hodnotu do připraveného prohlášení\n$user = $stmt->fetch(PDO::FETCH_ASSOC);\nprint_r($user);\n?>
\n

? je placeholder pro hodnotu, která bude vložena do dotazu během provádění. execute() přijímá pole s hodnotami pro placeholdery. fetch(PDO::FETCH_ASSOC) vrací výsledek jako asociativní pole.

\n\n

4. Vkládání dat

\n
prepare(\"INSERT INTO users (name, email) VALUES (?, ?)\");\n$stmt->execute(['John Doe', 'john.doe@example.com']);\n?>
\n\n

5. Aktualizace dat

\n
prepare(\"UPDATE users SET email = ? WHERE id = ?\");\n$stmt->execute(['new_email@example.com', 1]);\n?>
\n\n

6. Mazání dat

\n
prepare(\"DELETE FROM users WHERE id = ?\");\n$stmt->execute([1]);\n?>
\n\n

7. Transakce

\n

Pro zajištění atomovosti operací s databází používejte transakce.

\n
beginTransaction();\n\ntry {\n  // Provádění více dotazů\n  $pdo->commit();\n} catch (PDOException $e) {\n  $pdo->rollBack();\n  echo \"Transakce selhala: \" . $e->getMessage();\n}\n?>
\n\n

Tento tutoriál představuje základy práce s PDO v PHP. Pro více informací se podívejte do oficiální dokumentace.


Související návody

Komentáře

Zatím žádné komentáře. Buďte první, kdo napíše svůj názor!