`` `php
php
// Databaseforbindelsesoplysninger
$ sername ="localhost";
$ brugernavn ="brugernavn";
$ adgangskode ="adgangskode";
$ dbname ="database_name";
// Opret forbindelse
$ conn =ny MySQLI ($ servernavn, $ brugernavn, $ adgangskode, $ dbname);
// Kontroller forbindelse
if ($ conn-> connect_error) {
Die ("Forbindelse mislykkedes:". $ conn-> connect_error);
}
// Få den loggede brugers ID (forudsat at du har en sessionvariabel)
$ userId =$ _Session ['user_id'];
// Forbered og udfør SQL -forespørgslen
$ sql ="Vælg * fra brugere, hvor id =?";
$ stmt =$ conn-> forbered ($ sql);
$ stmt-> bind_param ("i", $ userId);
$ stmt-> execute ();
// Hent resultatet
$ resultat =$ stmt-> get_result ();
// behandle dataene
if ($ resultat-> num_rows> 0) {
// Få brugerdataene som en associativ matrix
$ userData =$ Resultat-> fetch_assoc ();
// få adgang til specifikke datafelter
$ brugernavn =$ userData ['brugernavn'];
$ e -mail =$ userData ['e -mail'];
// ...
// gør noget med dataene
Echo "Velkommen". $ brugernavn. "!";
} andet {
ekko "Bruger ikke fundet.";
}
// Luk udsagnet og forbindelsen
$ stmt-> close ();
$ conn-> close ();
?>
`` `
Forklaring:
1. Databaseforbindelse: Koden opretter først en forbindelse til din SQL -database ved hjælp af `mysqli '-udvidelsen. Udskift pladsholderværdierne med dine faktiske databaseoplysninger.
2. Bruger -ID: Det antager, at du har en sessionvariabel `$ _Session ['user_id']` der gemmer den loggede brugers ID. Dette er typisk indstillet under loginprocessen.
3. forberedt erklæring: Den bruger en forberedt erklæring til at forhindre SQL -injektionssårbarheder. Variablen `$ SQL` indeholder forespørgselsskabelonen og` $ stmt-> bind_param () `binder bruger-ID som en parameter.
4. Udfør og hent: `$ Stmt-> execute ()` udfører forespørgslen, og `$ stmt-> get_result () henter resultatsættet.
5. databehandling:
- Det kontrollerer, om forespørgslen returnerede rækker ved hjælp af `$ Resultat-> num_rows`.
- Hvis der findes rækker, henter den brugerdataene som en associativ matrix ved hjælp af `$ resultat-> fetch_assoc ()`.
- Du kan derefter få adgang til specifikke datafelter ved hjælp af deres kolonnenavne (f.eks. `$ UserData ['brugernavn']`).
6. Luk forbindelser: Det er vigtigt at lukke den forberedte erklæring og databaseforbindelse for at frigive ressourcer.
Vigtige noter:
- sessionstyring: Sørg for, at du har et sikkert sessionstyringssystem på plads for at opretholde brugerens loginstatus.
- databasestruktur: Denne kode antager en `brugers 'tabel med en' ID 'kolonne. Juster tabellen og kolonnenavne i overensstemmelse med din specifikke database.
- sikkerhed: Brug altid forberedte udsagn til at forhindre SQL -injektionsangreb. Undgå direkte indlejring af brugerinput i SQL -forespørgsler.
- Fejlhåndtering: Implementere robuste fejlhåndteringsmekanismer for at fange eventuelle databaseforbindelsesfejl eller forespørgselsudførelsesfejl.
- databeskyttelse: Sørg for, at du kun henter data, der er nødvendig for den specifikke funktionalitet og overholder reglerne for databeskyttelse.