⊗ppSpPDCn 56 of 83 menu

Připojení k databázi přes PDO v PHP

Pojďme provést připojení k databázi přes PDO. Nejprve si uložíme přístupové údaje do proměnných:

<?php $host = 'localhost'; // název hostitele (zpravidla vždy takový) $db = 'test'; // název databáze $user = 'root'; // uživatelské jméno pro přihlášení do databáze $pass = 'root'; // heslo pro přihlášení do databáze ?>

Nyní potřebujeme vytvořit řetězec ve speciálním formátu. V tomto řetězci musíme uvést typ používané databáze (zpravidla 'mysql'), název hostitele a název databáze:

<?php $dsn = "mysql:host=$host; dbname=$db; charset=utf8"; ?>

Dále vytvoříme pole voleb PDO, které budeme používat během práce (prozatím do nich nepronikejte):

<?php $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; ?>

Nyní můžeme provést připojení k databázi pomocí výše deklarovaných proměnných:

<?php $pdo = new PDO($dsn, $user, $pass, $opt); ?>

Výše uvedený kód buď provede připojení k databázi, nebo vyvolá výjimku. Proto je správnější obalit připojení do konstrukce try-catch:

<?php try { $pdo = new PDO($dsn, $user, $pass, $opt); echo 'DB is connected'; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>

Úplný kód bude vypadat takto:

<?php $host = 'localhost'; $db = 'test'; $user = ''; // uživatelské jméno pro přihlášení do databáze $pass = ''; // heslo pro přihlášení do databáze $charset = 'utf8'; $dsn = "mysql:host=$host; dbname=$db; charset=$charset"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; try { $pdo = new PDO($dsn, $user, $pass, $opt); echo 'DB is connected'; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>

Navažte spojení s vaší databází způsobem popsaným v lekci.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout