`` `php
php
// databasanslutningsinformation
$ servername ="localhost";
$ användarnamn ="användarnamn";
$ lösenord ="lösenord";
$ dbname ="database_name";
// Skapa anslutning
$ conn =new mysqli ($ servername, $ användarnamn, $ lösenord, $ dbname);
// Kontrollera anslutningen
if ($ conn-> connect_error) {
Die ("Anslutning misslyckades:". $ conn-> connect_error);
}
// Få den inloggade användarens ID (förutsatt att du har en sessionvariabel)
$ userid =$ _session ['user_id'];
// Förbered och kör SQL -frågan
$ sql ="välj * från användare där id =?";
$ stmt =$ conn-> förbereda ($ sql);
$ stmt-> bind_param ("i", $ userid);
$ stmt-> execute ();
// hämta resultatet
$ resultat =$ stmt-> get_result ();
// bearbeta uppgifterna
if ($ result-> num_rows> 0) {
// Få användardata som en associerande array
$ userData =$ result-> fetch_assoc ();
// Åtkomst till specifika datafält
$ användarnamn =$ userData ['användarnamn'];
$ e -post =$ userdata ['e -post'];
// ...
// gör något med uppgifterna
Echo "Välkommen". $ användarnamn. "!";
} annat {
echo "användare inte hittades.";
}
// Stäng uttalandet och anslutningen
$ stmt-> close ();
$ conn-> close ();
?>
`` `
Förklaring:
1. databasanslutning: Koden skapar först en anslutning till din SQL -databas med hjälp av förlängningen "MySQLI". Byt ut platshållarvärdena med dina faktiska databasuppgifter.
2. Användar -ID: Det antar att du har en sessionvariabel `$ _Session ['user_id']` som lagrar det inloggade användarens ID. Detta ställs vanligtvis in under inloggningsprocessen.
3. Förberedd uttalande: Den använder ett förberett uttalande för att förhindra SQL -injektionssårbarheter. Variabeln "$ sql" har frågemallen och `$ stmt-> bind_param ()" binder användar-ID som en parameter.
4. Utför och hämtar: `$ Stmt-> execute ()` kör frågan, och `$ stmt-> get_result ()` hämtar resultatuppsättningen.
5. Databehandling:
- Det kontrollerar om frågan returnerade några rader med `$ resultat-> num_rows '.
- Om rader finns, hämtar den användardata som en associerande matris med hjälp av `$ result-> fetch_assoc ()`.
- Du kan sedan komma åt specifika datafält med deras kolumnnamn (t.ex. `$ userData ['användarnamn']`).
6. Stäng anslutningar: Det är viktigt att stänga det förberedda uttalandet och databasanslutningen för att släppa resurser.
Viktiga anteckningar:
- sessionhantering: Se till att du har ett säkert sessionhanteringssystem på plats för att upprätthålla användarinloggningsstatus.
- databasstruktur: Denna kod antar en "användare" -tabell med en "ID" -kolumn. Justera tabellen och kolumnnamnen i enlighet därmed för din specifika databas.
- Säkerhet: Använd alltid beredda uttalanden för att förhindra SQL -injektionsattacker. Undvik direkt inbäddning av användarinmatning i SQL -frågor.
- Felhantering: Implementera robusta felhanteringsmekanismer för att fånga eventuella databasanslutningsfel eller exekveringsfel.
- Datasekretess: Se till att du bara hämtar data som är nödvändiga för den specifika funktionaliteten och uppfyller reglerna om integritetsregler.