Jasně, pojďme se ponořit.
SQL je univerzální jazyk pro práci s databázemi, v dnešní digitální době extrémně rozšířený. Někdy se však vývojáři mohou setkat s problémy. Jedním z běžných problémů, kterým může vývojář čelit, je chyba „Nelze najít ovladač (SQL: PRAGMA Foreign_keys = ON;)“. K této chybě obvykle dochází kvůli nedostatku správného ovladače pro připojení k databázi.
Jak vyřešit 'Nelze najít ovladač (SQL: PRAGMA Foreign_keys = ON;)'
Řešení tohoto problému je poměrně přímočará. Obvykle to znamená instalaci správného ovladače SQLite potřebného pro komunikaci s vaší databází SQLite. V PHP to například znamená, že byste měli mít direktivu extension=pdo_sqlite buď zkompilovanou do PHP, nebo přidanou v souboru php.ini.
Prvním krokem ke kontrole, zda ovladač je již nainstalován je použít funkci getAvailableDrivers().
print_r(PDO::getAvailableDrivers());
Pokud tato funkce nezahrnuje 'sqlite', znamená to, že pro instalaci PHP musíte nainstalovat ovladač SQLite.
Podrobný průvodce řešením problému
1. Otevřete konfigurační soubor PHP php.ini, který se obvykle nachází ve vaší instalační složce PHP.
2. Přejděte nebo vyhledejte v souboru php.ini řádek ';extension=php_pdo_sqlite.dll'.
3. Odkomentujte tento řádek odstraněním středníku (';') na začátku řádku.
4. Uložte a zavřete soubor php.ini.
5. Restartujte webový server.
Poté, co to uděláte, by se nyní při spuštění funkce getAvailableDrivers() mělo objevit 'sqlite'. To znamená, že vaše instalace PHP nyní může komunikovat s databázemi sqlite a chyba „Could Not Find Driver (SQL: PRAGMA Foreign_keys = ON;)“ by měla být vyřešena.
Subjekty spojené s tímto problémem
Kromě ovladače SQLite je s touto chybou spojeno několik entit. Za prvé je to rozšíření PHP Data Objects (PDO) – databázová abstraktní vrstva poskytující jednotný způsob přístupu k více databázím.
Je důležité těmto entitám porozumět protože vám může poskytnout další vhled do vnitřního fungování PHP a SQL a zjistit, proč dochází k určitým chybám, jako je „Could Not Find Driver (SQL: PRAGMA Foreign_keys = ON;)“.
- CHOP: Jedná se o PHP Data Objects, který definuje lehké a konzistentní rozhraní pro přístup k databázím v PHP. Teoreticky se může připojit k jakékoli databázi, pokud je nainstalován správný ovladač, což je místo, kde přichází náš ovladač SQLite.
- SQLite: Jedná se o systém správy relačních databází, který je zabudován do koncového programu. Je to oblíbená volba pro místní/klientské úložiště ve webových prohlížečích.
- PRAGMA: Toto je příkaz používaný v SQLite, který funguje jako metoda pro dotazování databáze na to, jak by měla zvládnout určité úkoly.
Když porozumíte těmto komponentám, můžete si udělat jasnější představu o tom, jak různé programy interagují a jak lépe řešit problémy, když nastanou problémy.