"Databasen ikke funnet feil" i PHP med MySQL oppstår vanligvis når PHP -koden din prøver å koble til en database som enten ikke eksisterer, eller du ikke har riktige tillatelser til tilgang. Her er en oversikt over feilen, årsakene og hvordan du fikser den:
Forstå feilen
Når du bruker `mysqli_connect ()` eller `pdo` -funksjonene i PHP for å koble til en MySQL -database, innebærer tilkoblingsprosessen:
1. Koble til MySQL -serveren: Dette trinnet etablerer en forbindelse til MySQL -serveren som kjører på systemet ditt.
2. Autentisering: Du oppgir MySQL -legitimasjon (brukernavn og passord).
3. Velge databasen: Til slutt spesifiserer du navnet på databasen du vil jobbe med.
Hvis databasen du spesifiserte i trinn 3 ikke eksisterer, eller hvis du mangler nødvendige tillatelser for å få tilgang til den, vil du møte "databasen ikke funnet feil."
Vanlige årsaker
* skrivefeil i databasenavnet: En enkel stavefeil i databasenavnet du oppgir under tilkoblingsprosessen er en vanlig skyldige.
* Feil saksfølsomhet: Noen MySQL-installasjoner er casensitive når det gjelder databasenavn. Dobbeltsjekk at saken samsvarer med det faktiske databasenavnet.
* Database eksisterer ikke: Kanskje ble databasen ved et uhell slettet eller aldri opprettet i utgangspunktet.
* utilstrekkelige privilegier: Du har kanskje tilgang til MySQL -serveren, men brukerkontoen din har kanskje ikke nødvendige tillatelser for å få tilgang til den spesifiserte databasen.
Feilsøking og løsninger
1. Kontroller koden din:
- Bekreft databasenavnet: Forsikre deg om at det ikke er skrivefeil, og at saken samsvarer med det faktiske databasenavnet.
- Gjennomgangstillatelser: Forsikre deg om at du har riktig brukeropplysning, og at brukeren har "velger" (eller høyere) privilegier i databasen.
2. Inspiser MySQL -serveren:
- Listedatabaser: Bruk `show -databasene;` kommando i MySQL -skallet for å se en liste over tilgjengelige databaser.
- Kontroller for saksfølsomhet: Bruk `Select @@ Lower_Case_Table_Names;` -kommandoen. En verdi av `1` indikerer at tilfelle ufølsomhet, mens` 0` betyr saksfølsom.
- Gjennomgå brukerprivilegier: Bruk `Vis tilskudd til 'Your_Username'@'Your_HostName';` -kommandoen for å se brukerens privilegier.
3. Opprett eller gi tillatelser:
- Opprett databasen: Hvis databasen mangler, bruk `Opprett databasen ;` -kommando i MySQL -skallet.
- Tilskuddsrettigheter: Bruk `Grant Select på .* Til 'Your_Username'@'your_hostname';` kommando for å gi de nødvendige tillatelsene.
kodeeksempel (php med mysqli)
`` php
Php
$ servername ="localhost";
$ brukernavn ="Your_UserName";
$ passord ="Your_Password";
$ dbname ="your_database_name"; // Bekreft databasenavn
// Opprett tilkobling
$ conn =mysqli_connect ($ servernavn, $ brukernavn, $ passord, $ dbname);
// Kontroller tilkobling
if (! $ conn) {
die ("Connection mislyktes:". mysqli_connect_error ());
}
ekko "tilkoblet vellykket";
mysqli_close ($ conn);
?>
`` `
Viktig merknad:
* Det anbefales på det sterkeste å bruke utarbeidede utsagn for å beskytte koden din mot SQL -injeksjonssårbarheter. Dette innebærer at bindingsparametere for å forhindre at ondsinnet kode blir satt inn i spørsmålene dine.
* Husk alltid å respektere databasesikkerhetsprinsipper. Ikke bruk standard eller enkelt gjettede passord, og bruk passende brukerrettigheter.
Ved å undersøke kode- og serveroppsettet nøye, og følge feilsøkingstrinnene, kan du effektivt løse "Databasen som ikke er funnet feil" i PHP -prosjektene dine.