Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Pochopenie chyby
Ak použijete funkcie `mysqli_connect ()` alebo `pdo` v PHP na pripojenie k databáze MySQL, proces pripojenia zahŕňa:
1. Pripojenie k serveru MySQL: Tento krok vytvára pripojenie k serveru MySQL spusteného vo vašom systéme.
2. autentifikácia: Poskytujete svoje poverenia MySQL (používateľské meno a heslo).
3. Výber databázy: Nakoniec zadáte názov databázy, s ktorou chcete pracovať.
Ak databáza, ktorú ste zadali v kroku 3, neexistuje, alebo ak vám chýbajú potrebné povolenia na prístup, narazíte na „databázu nenašli sa chyba“.
Bežné príčiny
* Typ v názve databázy: Bežným vinníkom je jednoduchá chyba pravopisu v názve databázy, ktorú poskytnete počas procesu pripojenia.
* Nesprávna citlivosť na prípad: Niektoré inštalácie MySQL sú citlivé na prípad, pokiaľ ide o názvy databáz. Dvojitá skontrolujte, či sa prípad zhoduje so skutočným názvom databázy.
* Databáza neexistuje: Možno bola databáza náhodou vymazaná alebo nikdy nevytvorená na prvom mieste.
* Nedostatočné privilégiá: Môžete mať prístup k serveru MySQL, ale váš používateľský účet nemusí mať potrebné povolenia na prístup k zadanej databáze.
Riešenie problémov a riešenia
1. Skontrolujte svoj kód:
- Overte názov databázy: Uistite sa, že neexistujú žiadne preklepy a či sa prípad zhoduje s skutočným názvom databázy.
- Preskúmajte povolenia: Uistite sa, že máte správne poverenia používateľa a že používateľ má v databáze „vyberte“ (alebo vyššie) oprávnenia.
2. Skontrolujte server MySQL:
- zoznam databáz: Použite príkaz `Show Databases;` v shelle MySQL a zobrazte zoznam dostupných databáz.
- Skontrolujte citlivosť na puzdro: Použite príkaz `select @@ nižšie_case_table_names;`. Hodnota `1` označuje necitlivosť prípadu, zatiaľ čo` 0 "znamená citlivé na prípad.
- Skontrolujte oprávnenia používateľa: Ak chcete vidieť privilégiá vášho používateľa, použite `show granty pre 'your_username'@'your_hostName';` príkaz.
3. Vytvorte alebo udeľte povolenia:
- Vytvorte databázu: Ak databáza chýba, použite príkaz `Create Database
- Grantové privilégiá: Použite `grant Select On
Príklad kódu (php s mysqli)
`` `php
Php
$ serverName ="localhost";
$ username ="your_username";
$ heslo ="your_password";
$ dbname ="your_database_name"; // overte názov databázy
// Vytvorte pripojenie
$ conn =mysqli_connect ($ servername, $ username, $ heslo, $ dbname);
// Skontrolujte pripojenie
if (! $ conn) {
die ("Connection zlyhal:". mysqli_connect_error ());
}
echo „úspešne pripojená“;
mysqli_close ($ conn);
?>
`` `
Dôležitá poznámka:
* Dôrazne sa odporúča používať pripravené príkazy na ochranu vášho kódu pred zraniteľnými miestami vstrekovania SQL. Zahŕňa to väzbové parametre, aby sa zabránilo vloženiu škodlivého kódu do vašich dotazov.
* Vždy nezabudnite rešpektovať zásady zabezpečenia databázy. Nepoužívajte predvolené alebo ľahko uhádnuteľné heslá a používajte príslušné oprávnenia používateľa.
Starostlivým preskúmaním nastavenia kódu a servera a podľa krokov na riešenie problémov môžete vo svojich projektoch PHP efektívne vyriešiť „databázu nenájdenej chyby“.