Jak na připojení PHP k NEON databázi
Přímo na obrazovce, kterou máš na obrázku, klikni vlevo nahoře na zelené tlačítko Connect.

Otevře se okno s připojovacími údaji. Pro PHP tě zajímají hlavně:
- Host – něco jako ep-xxxxxx.eu-central-1.aws.neon.tech
- Database – typicky neondb, případně tvoje vlastní DB
- User / Role – uživatelské jméno
- Password – heslo
- Port – 5432
- SSL – Neon vyžaduje SSL, tedy typicky sslmode=require
Neon ti zároveň ukáže celý Connection string ve tvaru:
postgresql://USER:PASSWORD@HOST/DATABASE?sslmode=require

Na této obrazovce je heslo už schované hvězdičkami a původní heslo z nich nezjistíš.
Klikni vpravo vedle Role na Reset password.
Neon ti vygeneruje nové heslo pro uživatele neondb_owner. To si hned zkopíruj a ulož, protože ho pak použiješ v PHP.
Tvůj connection string pak bude mít přibližně tento tvar:
postgresql://neondb_owner:NOVE_HESLO@ep-tiny-morning-b49xafjb-pooler.c-6.us-east-2.aws.neon.tech/neondb?sslmode=require&channel_binding=require
Pro PHP přes PDO z toho použiješ:
<?php
$host = 'ep-tiny-morning-b49xafjb-pooler.c-6.us-east-2.aws.neon.tech';
$port = 5432;
$db = 'neondb';
$user = 'neondb_owner';
$pass = 'SEM_VLOZ_NOVE_HESLO';
$dsn = "pgsql:host=$host;port=$port;dbname=$db;sslmode=require";
try {
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
echo "✅ Připojení k Neon databázi funguje.";
} catch (PDOException $e) {
echo "❌ Chyba: " . $e->getMessage();
}
Na tvém obrázku máš zapnuté Connection pooling, což je pro PHP webovou aplikaci v pořádku — proto je v hostname -pooler.
Ještě důležité: po Reset password přestane staré heslo fungovat, takže pokud ho někde už používáš, musíš ho tam také změnit.
🐘 Jak funguje PHP připojení k Neon PostgreSQL
Tento PHP kód slouží k tomu, aby se webová aplikace dokázala připojit k databázi PostgreSQL uložené ve službě Neon. Program si nejprve uloží přístupové údaje, vytvoří z nich připojovací řetězec a potom se pomocí PDO pokusí připojit.
<?php
$host = 'ep-tiny-morning-b49xafjb-pooler.c-6.us-east-2.aws.neon.tech';
$port = 5432;
$db = 'neondb';
$user = 'neondb_owner';
$pass = 'SEM_VLOZ_NOVE_HESLO';
$dsn = "pgsql:host=$host;port=$port;dbname=$db;sslmode=require";
try {
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
echo "✅ Připojení k Neon databázi funguje.";
} catch (PDOException $e) {
echo "❌ Chyba: " . $e->getMessage();
}

🟦 1. Začátek PHP kódu
<?php
Značka <?php říká serveru: od tohoto místa začíná PHP program. PHP se vykonává na serveru. Uživatel v prohlížeči nevidí samotný PHP kód, ale pouze jeho výsledek.
🌐 2. Adresa databázového serveru
$host = 'ep-tiny-morning-b49xafjb-pooler.c-6.us-east-2.aws.neon.tech';
Vytváříme proměnnou $host, do které ukládáme adresu databázového serveru Neon. V PHP každá proměnná začíná znakem $. Text je uzavřený v apostrofech ' '. Středník ; znamená konec příkazu.
💡 Zapamatuj si: $host = kde databáze běží
🚪 3. Port databáze
$port = 5432;
Proměnná $port obsahuje číslo portu. Port si můžeme představit jako konkrétní vchod do serveru. PostgreSQL standardně používá port 5432.
💡 Zapamatuj si: $port = kterým vchodem se připojujeme
🗄️ 4. Název databáze
$db = 'neondb';
Proměnná $db obsahuje název databáze. Jeden PostgreSQL server může obsahovat více databází, proto musíme určit, ke které se chceme připojit.
💡 Zapamatuj si: $db = ke které databázi se připojujeme
👤 5. Uživatelské jméno
$user = 'neondb_owner';
Proměnná $user obsahuje jméno databázového uživatele. Databáze podle něj pozná, kdo se připojuje a jaká má oprávnění.
💡 Zapamatuj si: $user = kdo se připojuje
🔐 6. Heslo
$pass = 'SEM_VLOZ_NOVE_HESLO';
Proměnná $pass obsahuje heslo k databázovému účtu. Databáze pomocí uživatelského jména a hesla ověří, zda máme právo se připojit.
⚠️ Ve skutečné aplikaci se hesla nemají nechávat přímo ve zdrojovém kódu. Později se naučíme používat například soubor .env.
💡 Zapamatuj si: $pass = heslo k databázi
🔗 7. Sestavení připojovací adresy
$dsn = "pgsql:host=$host;port=$port;dbname=$db;sslmode=require";
Tady vytváříme takzvaný DSN, tedy připojovací řetězec. Obsahuje všechny informace potřebné pro připojení.
pgsql znamená PostgreSQL, host=$host vloží adresu serveru, port=$port vloží port, dbname=$db vloží název databáze a sslmode=require říká, že připojení musí být šifrované.
Protože používáme dvojité uvozovky " ", PHP dokáže uvnitř textu nahradit proměnné jejich skutečnými hodnotami.
💡 Zapamatuj si: $dsn = kompletní návod, jak se k databázi připojit
🧪 8. Pokus o připojení
try {
Slovo try znamená přibližně „zkus provést tento kód“. Používá se tam, kde může nastat chyba.
Například:
❌ špatné heslo
❌ nefunguje internet
❌ databázový server není dostupný
❌ špatně zadaná adresa serveru
Pokud chyba nastane, program nespadne úplně, ale můžeme ji zachytit pomocí catch.
🔌 9. Samotné připojení k databázi
$pdo = new PDO($dsn, $user, $pass, [
Toto je nejdůležitější řádek celého programu.
PDO znamená PHP Data Objects. Je to nástroj PHP pro komunikaci s databázemi.
new PDO(...) znamená: vytvoř nové databázové připojení.
Do PDO předáváme:
$dsn → kde databáze je $user → uživatelské jméno $pass → heslo
Výsledek uložíme do proměnné:
$pdo
Právě přes $pdo budeme později posílat SQL příkazy.
Například:
$pdo->query("SELECT * FROM studenti");
znamená: pošli databázi SQL příkaz SELECT.
⚙️ 10. Nastavení chyb PDO
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
Tím nastavujeme způsob, jakým má PDO reagovat na chyby.
PDO::ATTR_ERRMODE znamená nastavení způsobu práce s chybami.
PDO::ERRMODE_EXCEPTION znamená: pokud nastane chyba, vytvoř výjimku, kterou můžeme zachytit pomocí catch.
To nám umožní zobrazit uživateli konkrétní chybu.
🔚 11. Ukončení nastavení PDO
]);
Tady ukončujeme vytvoření PDO.
] ukončuje seznam nastavení.
) ukončuje new PDO(...).
; ukončuje celý PHP příkaz.
✅ 12. Připojení se podařilo
echo "✅ Připojení k Neon databázi funguje.";
echo je příkaz PHP pro vypsání textu na stránku.
Tento řádek se provede pouze tehdy, pokud připojení k databázi proběhne správně.
Uživatel tedy uvidí:
✅ Připojení k Neon databázi funguje.
❌ 13. Co když nastane chyba?
} catch (PDOException $e) {
Pokud při připojování vznikne chyba, PHP přeskočí do části catch.
PDOException znamená chybu související s databází PDO.
Proměnná:
$e
obsahuje informace o vzniklé chybě.
💡 catch můžeme chápat jako: „chyť vzniklou chybu a zpracuj ji“.
🚨 14. Vypsání chyby
echo "❌ Chyba: " . $e->getMessage();
Pokud připojení selže, vypíšeme informace o chybě.
echo vypisuje text.
Tečka:
.
v PHP znamená spojení dvou textů.
Například:
"Ahoj " . "Karle"
vytvoří:
Ahoj Karle
Příkaz:
$e->getMessage()
získá skutečný text chyby.
Například:
password authentication failed
nebo:
could not connect to server
🧱 15. Konec programu
}
Poslední složená závorka } ukončuje část catch.
Tím končí celý blok pro zpracování chyb.
🧠 Jak funguje celý program
Celý program můžeme zjednodušeně chápat takto:
🌐 Adresa serveru
↓
🚪 Port
↓
🗄️ Databáze
↓
👤 Uživatel
↓
🔐 Heslo
↓
🔗 vytvoření DSN
↓
🔌 PDO
↓
🐘 PostgreSQL / Neon
PHP tedy nejprve zjistí kam se připojit, potom pod jakým uživatelem, následně vytvoří spojení a pokud vše funguje, můžeme databázi posílat SQL příkazy.
⭐ Co si z toho zapamatovat
$host 🌐 = adresa databázového serveru $port 🚪 = port PostgreSQL $db 🗄️ = název databáze $user 👤 = uživatelské jméno $pass 🔐 = heslo $dsn 🔗 = informace potřebné pro připojení $pdo 🔌 = hotové spojení s databází try 🧪 = zkus provést kód catch 🚨 = zachyť chybu echo 💬 = vypiš text
🎯 Nejdůležitější princip
Po úspěšném připojení máme proměnnou:
$pdo
Ta představuje spojení mezi PHP a PostgreSQL databází.
Dále už můžeme například napsat:
$pdo->query("SELECT * FROM studenti");
a cesta dat bude:
👨💻 PHP ↓ 🔌 PDO ↓ 📨 SQL příkaz ↓ 🐘 PostgreSQL ↓ 🗄️ Neon databáze ↓ 📦 výsledek ↓ 🌐 webová stránka