Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Kľúčové koncepty
* Databázové systémy: PHP často pracuje s relačnými databázami ako MySQL, PostgreSQL, SQLite a Mariadb.
* Databázové pripojenia: Pred interakciou s ňou musíte nadviazať spojenie s databázou.
* sql dotazy: Štruktúrovaný dotazový jazyk (SQL) sa používa na interakciu s databázou.
* Pripravené výroky: Rozhodujúce bezpečnostné opatrenie na zabránenie zraniteľnostiam SQL vstrekovania.
Kroky na interakciu s databázou v PHP
1. Nastavenie:
* inštalácia databázy: Ak nemáte databázu, musíte ju nainštalovať a nakonfigurovať (napr. MySQL).
* PHP rozšírenie: Uistite sa, že máte nainštalované príslušné rozšírenie PHP pre svoju databázu (napr. MySQli` alebo `PDO`).
2. Databázové pripojenie:
* Vytvoríte spojenie: Na pripojenie k vašej databáze použite funkcie rozšírenia databázy PHP.
* poverenia: Uveďte databázový server, používateľské meno, heslo a názov databázy.
`` `php
Php
$ serverName ="localhost";
$ username ="your_username";
$ heslo ="your_password";
$ dbname ="your_database_name";
// Vytvorte pripojenie
$ conn =new mysqli ($ servername, $ username, $ heslo, $ dbname);
// Skontrolujte pripojenie
if ($ conn-> connect_error) {
die ("Connection zlyhal:". $ conn-> connect_error);
}
echo „úspešne pripojená“;
// Zatvorte pripojenie po dokončení
$ conn-> close ();
?>
`` `
3. Vykonajte operácie:
* Získanie údajov: Na získanie údajov z databázy použite dotazy „Select“.
* vkladanie údajov: Na pridanie nových údajov použite dotazy „Insert“.
* Aktualizácia údajov: Na úpravu existujúcich údajov použite dotazy „Update“.
* DELÁCIA DAME: Na odstránenie údajov použite dotazy „Delete“.
`` `php
Php
// načítať údaje
$ sql ="Vyberte * od používateľov, kde id =1";
$ result =$ conn-> query ($ sql);
if ($ result-> num_rows> 0) {
// Výstupné údaje z každého riadku
while ($ row =$ result-> fetch_assoc ()) {
Echo "Id:". $ riadok ["id"]. " - meno:". $ riadok ["name"]. " - E -mail:". $ riadok ["E -mail"]. „
„;
}
} else {
echo "0 výsledkov";
}
// Vložte nové údaje
$ sql ="Vložte do používateľov (meno, e -mail) Hodnoty ('John Doe', 'John.doe@example.com')";
if ($ conn-> query ($ sql) ===true) {
Echo „Nový záznam sa úspešne vytvoril“;
} else {
Echo "Chyba:". $ sql. „
". $ conn-> chyba;
}
?>
`` `
4. Manipulácia a zabezpečenie chyby:
* Skontrolujte chyby: Použite `mysqli_error ()` alebo `$ conn-> Error` na kontrolu chýb databázy.
* Pripravené výroky: Na zabránenie injekcie SQL použite pripravené vyhlásenia. Zahŕňa to odoslanie vášho dotazu oddelene od hodnôt údajov.
* dezinfekcia údajov: Pred použitím vo svojich databázových dopytoch overte a dezinfikujte všetky vstupy používateľov.
Príklad pomocou PDO (PHP Data Objects)
PDO je objektovejší spôsob, ako pracovať s databázami v PHP. Poskytuje konzistentné rozhranie pre interakciu s rôznymi databázovými systémami.
`` `php
Php
skús {
// Podrobnosti o pripojení databázy
$ dsn ="mysql:host =localhost; dbname =your_database_name";
$ username ="your_username";
$ heslo ="your_password";
// Vytvorte pripojenie PDO
$ conn =nový PDO ($ dsn, $ username, $ heslo);
// Nastavte režim chyby na výnimky
$ conn-> setAttribute (pdo ::att_ermode, pdo ::errmode_exception);
// Pripravte a vykonajte dotaz
$ sql ="Vyberte * od používateľov, kde id =:id";
$ STMT =$ conn-> Pripravte ($ sql);
$ STMT-> bindParam (':id', $ userID); // Používajte zástupné symboly na zabezpečenie
$ userID =1; // Príklad ID používateľa
$ stmt-> execute ();
// načítať údaje
$ výsledky =$ stmt-> fetchall (pdo ::fetch_assoc);
// Výsledky procesu
foreach ($ výsledky ako $ riadok) {
Echo "Id:". $ riadok ["id"]. " - meno:". $ riadok ["name"]. " - E -mail:". $ riadok ["E -mail"]. „
„;
}
} catch (pdoException $ e) {
Echo "Chyba:". $ e-> getMessage ();
}
?>
`` `
Dôležité úvahy:
* Výber správnej databázy: Vyberte databázu, ktorá vyhovuje požiadavkám vášho projektu (veľkosť, štruktúra údajov, potreby výkonu).
* Zabezpečenie: Nikdy priamo nevkladajte vstup používateľa do svojich databázových dopytov. Na zabránenie zraniteľnostiam vždy dezinfikujte vstup a používajte pripravené vyhlásenia.
* Integrita údajov: Implementovať overenie a kontroly typu údajov, aby ste zaistili presnosť a konzistentnosť údajov.
* caching: Zvážte ukladanie údajov na zlepšenie výkonu, najmä pre často prístupné údaje.
Dajte mi vedieť, ak chcete preskúmať pokročilejšie operácie databázy (ako sú transakcie, vzťahy alebo uložené postupy) alebo konkrétne databázové systémy!