"Databasen ikke fundet fejl" i PHP med MySQL opstår typisk, når din PHP -kode forsøger at oprette forbindelse til en database, der enten ikke findes, eller du ikke har de rette tilladelser til adgang. Her er en sammenbrud af fejlen, dens årsager og hvordan man løser den:
Forståelse af fejlen
Når du bruger `mysqli_connect ()` eller `BOB 'fungerer i PHP til at oprette forbindelse til en MySQL -database, involverer forbindelsesprocessen:
1. Tilslutning til MySQL Server: Dette trin etablerer en forbindelse til MySQL -serveren, der kører på dit system.
2. Autentificering: Du leverer dine MySQL -legitimationsoplysninger (brugernavn og adgangskode).
3. Valg af databasen: Endelig specificerer du navnet på den database, du vil arbejde med.
Hvis den database, du har angivet i trin 3, ikke findes, eller hvis du mangler de nødvendige tilladelser til at få adgang til den, vil du støde på "databasen ikke fundet fejl."
Almindelige årsager
* Typo i databasenavnet: En simpel stavefejl i den databasnavn, du leverer under forbindelsesprocessen, er en almindelig skyldige.
* Forkert sagsfølsomhed: Nogle MySQL-installationer er det store og små bogstaver, når det kommer til databasenavne. Dobbeltkontrol, at sagen matcher det faktiske databasenavn.
* database findes ikke: Måske blev databasen ved et uheld slettet eller aldrig oprettet i første omgang.
* utilstrækkelige privilegier: Du har muligvis adgang til MySQL -serveren, men din brugerkonto har muligvis ikke de nødvendige tilladelser til at få adgang til den specificerede database.
Fejlfinding og løsninger
1. Kontroller din kode:
- Bekræft databasenavnet: Sørg for, at der ikke er nogen skrivefejl, og at sagen matcher det faktiske databasenavn.
- Gennemgangstilladelser: Sørg for, at du har de korrekte brugeroplysninger, og at brugeren har "vælg" (eller højere) privilegier i databasen.
2. Inspicér MySQL -serveren:
- Liste databaser: Brug kommandoen `Vis databaser;` i MySQL Shell for at se en liste over tilgængelige databaser.
- Kontroller for sagsfølsomhed: Brug `Select @@ lower_case_table_names;` kommandoen. En værdi på `1 'indikerer tilfælde af tilfælde, mens` 0' betyder sagsfølsom.
- Gennemgå brugerrettigheder: Brug `Vis tilskud til 'Your_Username'@'Your_HostName'; 'kommandoen for at se din brugers privilegier.
3. Opret eller tilskudstilladelser:
- Opret databasen: Hvis databasen mangler, skal du bruge `Opret database ; 'kommando i MySQL Shell.
- Tilskudsprivilegier: Brug 'Grant Select på .* Til' Your_Username '@' Your_hostName ';' kommandoen til at give de nødvendige tilladelser.
kodeeksempel (php med mysqli)
`` `php
php
$ sername ="localhost";
$ username ="your_Username";
$ password ="your_password";
$ dbname ="your_database_name"; // Bekræft databasenavn
// Opret forbindelse
$ conn =mysqli_connect ($ servernavn, $ brugernavn, $ adgangskode, $ dbname);
// Kontroller forbindelse
hvis (! $ conn) {
Die ("Forbindelse mislykkedes:". mysqli_connect_error ());
}
ekko "tilsluttet med succes";
mysqli_close ($ conn);
?>
`` `
Vigtig note:
* Det anbefales stærkt at bruge forberedte udsagn til at beskytte din kode mod SQL -injektionssårbarheder. Dette involverer bindende parametre for at forhindre ondsindet kode i at blive indsat i dine forespørgsler.
* Husk altid at respektere databasesikkerhedsprincipper. Brug ikke standard eller let gættelige adgangskoder, og brug passende brugerprivilegier.
Ved omhyggeligt at undersøge din kode og serveropsætning og efter fejlfindingstrinnene kan du effektivt løse "databasen ikke fundet fejl" i dine PHP -projekter.