"Databasen inte hittade fel" i PHP med MySQL uppstår vanligtvis när din PHP -kod försöker ansluta till en databas som antingen inte finns eller om du inte har rätt behörighet att komma åt. Här är en uppdelning av felet, dess orsaker och hur man fixar det:
Förstå felet
När du använder funktionen `mysqli_connect ()` eller `pdo` i PHP för att ansluta till en MySQL -databas, involverar anslutningsprocessen:
1. Anslutning till MySQL -servern: Detta steg skapar en anslutning till MySQL -servern som körs på ditt system.
2. autentisering: Du tillhandahåller dina MySQL -referenser (användarnamn och lösenord).
3. Välj databas: Slutligen anger du namnet på den databas du vill arbeta med.
Om databasen som du angav i steg 3 inte finns, eller om du saknar nödvändiga behörigheter för att komma åt den, stöter du på "databasen som inte har hittats fel."
Vanliga orsaker
* skrivfel i databasnamnet: Ett enkelt stavfel i databasnamnet du anger under anslutningsprocessen är en vanlig skyldige.
* Felaktig känslighet: Vissa MySQL-installationer är skiftlägeskänsliga när det gäller databasnamn. Dubbelkontrollera det fallet matchar det faktiska databasnamnet.
* databas finns inte: Kanske raderades databasen av misstag eller skapades aldrig i första hand.
* Otillräckliga privilegier: Du kanske har tillgång till MySQL -servern, men ditt användarkonto kanske inte har de nödvändiga behörigheterna för att komma åt den angivna databasen.
felsökning och lösningar
1. Kontrollera din kod:
- Kontrollera databasnamnet: Se till att det inte finns några skrivfel och att fallet matchar det faktiska databasnamnet.
- Granska behörigheter: Se till att du har rätt användaruppgifter och att användaren har "välj" (eller högre) privilegier i databasen.
2. Kontrollera MySQL -servern:
- Listdatabaser: Använd kommandot "Visa databaser;" i MySQL -skalet för att se en lista med tillgängliga databaser.
- Kontrollera för fallkänslighet: Använd kommandot `SELECT @@ Lower_Case_Table_Names;`. Ett värde på "1" indikerar fallkänslighet, medan "0" betyder skiftkänsligt.
- Granska användarbehörigheter: Använd "Visa bidrag för" your_username "@" your_hostname ";" kommando för att se användarens privilegier.
3. Skapa eller bevilja behörigheter:
- Skapa databasen: Om databasen saknas, använd kommandot `Skapa databas ;` i mysql -skalet.
- beviljande behörigheter: Använd `GRANT Välj på .* Till 'your_username'@'your_hostname';` Kommando för att bevilja nödvändiga behörigheter.
Kod Exempel (PHP med MySQLI)
`` `php
php
$ servername ="localhost";
$ användarnamn ="your_username";
$ lösenord ="your_password";
$ dbname ="your_database_name"; // Verifiera databasnamn
// Skapa anslutning
$ conn =mysqli_connect ($ servernamn, $ användarnamn, $ lösenord, $ dbname);
// Kontrollera anslutningen
if (! $ conn) {
Die ("Anslutning misslyckades:". MySQLI_CONNECT_ERROR ());
}
echo "ansluten framgångsrikt";
mysqli_close ($ conn);
?>
`` `
Viktig anmärkning:
* Det rekommenderas starkt att använda förberedda uttalanden för att skydda din kod från SQL -injektionssårbarheter. Detta innebär att bindande parametrar för att förhindra att skadlig kod sätts in i dina frågor.
* Kom alltid ihåg att respektera databasens säkerhetsprinciper. Använd inte standard eller lätt gissningsbara lösenord och använd lämpliga användarbehörigheter.
Genom att noggrant undersöka din kod- och serveruppsättning och följa felsökningsstegen kan du effektivt lösa "databasen som inte har hittats fel" i dina PHP -projekt.