Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Aká je databáza nenájdená chyba v PHP s MySQL?

„Databáza nenájdená chyba“ v PHP s MySQL zvyčajne vzniká, keď sa váš kód PHP pokúsi pripojiť k databáze, ktorá buď neexistuje, alebo nemáte správne povolenia na prístup. Tu je rozdelenie chyby, jej príčiny a spôsob, akým ju opraviť:

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 ;` príkaz v shelle MySQL.

- Grantové privilégiá: Použite `grant Select On .* Na 'your_username'@'your_hostname';` príkaz na udelenie potrebných povolení.

Príklad kódu (php s mysqli)

`` `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“.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené