De "database niet gevonden fout" in PHP met MySQL ontstaat meestal wanneer uw PHP -code probeert verbinding te maken met een database die niet bestaat of u niet de juiste machtigingen hebt om toegang te krijgen. Hier is een uitsplitsing van de fout, de oorzaken en hoe deze te repareren:
Inzicht in de fout
Wanneer u de `mysqli_connect ()` of `pdo` -functies in PHP gebruikt om verbinding te maken met een MySQL -database, omvat het verbindingsproces:
1. Verbinding maken met de MySQL -server: Deze stap legt een verbinding tot stand met de MySQL -server die op uw systeem wordt uitgevoerd.
2. authenticatie: U verstrekt uw MySQL -referenties (gebruikersnaam en wachtwoord).
3. De database selecteren: Ten slotte geeft u de naam op van de database waarmee u wilt werken.
Als de database die u in stap 3 hebt opgegeven, niet bestaat, of als u de nodige machtigingen mist om er toegang toe te krijgen, komt u de "database niet gevonden Fout" tegen.
gemeenschappelijke oorzaken
* typefout in de databasenaam: Een eenvoudige spelfout in de databasenaam die u tijdens het verbindingsproces verstrekt, is een veel voorkomende boosdoener.
* Onjuiste casusgevoeligheid: Sommige MySQL-installaties zijn case-gevoelig als het gaat om databasenamen. Controleer dubbel dat de case overeenkomt met de werkelijke databasenaam.
* database bestaat niet: Misschien is de database per ongeluk verwijderd of nooit in de eerste plaats gemaakt.
* onvoldoende privileges: U hebt mogelijk toegang tot de MySQL -server, maar uw gebruikersaccount heeft mogelijk niet de nodige machtigingen om toegang te krijgen tot de opgegeven database.
Problemen oplossen en oplossingen
1. Controleer uw code:
- Controleer de databasenaam: Zorg ervoor dat er geen typefouten zijn en dat de case overeenkomt met de werkelijke databasenaam.
- Review machtigingen: Zorg ervoor dat u de juiste gebruikersreferenties hebt en dat de gebruiker "selecteren" (of hogere) privileges in de database heeft.
2. Inspecteer de MySQL -server:
- Lijstdatabases: Gebruik de `tonen databases;` Command in de MySQL -shell om een lijst met beschikbare databases te zien.
- Controleer op case -gevoeligheid: Gebruik de opdracht `selecteer @@ lower_case_table_names;`. Een waarde van `1` geeft de ongevoeligheid van het geval aan, terwijl '0' case-gevoelig betekent.
- Bekijk gebruikersrechten: Gebruik de `Show -subsidies voor 'your_username'@'your_hostname';` commando om de voorrechten van uw gebruiker te zien.
3. Maken of toekennen:
- Maak de database: Als de database ontbreekt, gebruikt u de opdracht `database maken ;` in de mysql -shell.
- Grondrechten: Gebruik de `subsidie selecteren op .* Naar 'your_username'@'your_hostname';` Command om de nodige machtigingen te verlenen.
CODE VOORBEELD (PHP MET MYSQLI)
`` `php
PHP
$ serverName ="localhost";
$ gebruikersnaam ="Your_UserName";
$ wachtwoord ="Your_Password";
$ dbName ="your_database_name"; // verifieer de databasenaam
// verbinding maken
$ conn =mysqli_connect ($ serverName, $ gebruikersnaam, $ wachtwoord, $ dbName);
// Controleer de verbinding
if (! $ conn) {
Die ("Verbinding mislukt:". Mysqli_connect_error ());
}
echo "met succes verbonden";
mysqli_close ($ conn);
?>
`` `
Belangrijke opmerking:
* Het wordt ten zeerste aanbevolen om voorbereide verklaringen te gebruiken om uw code te beschermen tegen SQL -injectie -kwetsbaarheden. Dit omvat bindende parameters om te voorkomen dat kwaadaardige code in uw vragen wordt ingevoegd.
* Vergeet niet om databasebeveiligingsprincipes te respecteren. Gebruik geen standaard- of gemakkelijk gundelige wachtwoorden en gebruik de juiste gebruikersrechten.
Door uw code- en serverinstellingen zorgvuldig te onderzoeken en de stappen voor het oplossen van probleemoplossing te volgen, kunt u de "database niet gevonden fout" in uw PHP -projecten effectief oplossen. |