λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> SQL Server

Πώς επιλέγετε δεδομένα που σχετίζονται με έναν καταγεγραμμένο χρήστη από το SQL Davabase χρησιμοποιώντας PHP;

`` `php

// Λεπτομέρειες σύνδεσης βάσης δεδομένων

$ servername ="localHost";

$ username ="όνομα χρήστη";

$ password ="κωδικός πρόσβασης";

$ dbname ="database_name";

// Δημιουργία σύνδεσης

$ conn =νέο mysqli ($ servername, $ username, $ password, $ dbname);

// Ελέγξτε τη σύνδεση

αν ($ conn-> connect_error) {

die ("Η σύνδεση απέτυχε:" $ conn-> connect_error);

}

// Λάβετε το αναγνωριστικό χρήστη που καταγράφηκε (υποθέτοντας ότι έχετε μεταβλητή περιόδου σύνδεσης)

$ userid =$ _session ['user_id'];

// Προετοιμάστε και εκτελέστε το ερώτημα SQL

$ sql ="επιλέξτε * από τους χρήστες όπου id =;";

$ stmt =$ conn-> prepare ($ sql);

$ stmt-> bind_param ("i", $ userid);

$ stmt-> execute ();

// Λάβετε το αποτέλεσμα

$ αποτέλεσμα =$ stmt-> get_result ();

// Επεξεργασία των δεδομένων

αν ($ αποτέλεσμα-> num_rows> 0) {

// Λάβετε τα δεδομένα χρήστη ως συσχετιστικό πίνακα

$ userData =$ αποτέλεσμα-> fetch_assoc ();

// πρόσβαση σε συγκεκριμένα πεδία δεδομένων

$ username =$ userData ['username'];

$ Email =$ UserData ['Email'];

// ...

// κάντε κάτι με τα δεδομένα

Echo "Welcome". $ username. "!";

} αλλιώς {

echo "Ο χρήστης δεν βρέθηκε.";

}

// Κλείστε τη δήλωση και τη σύνδεση

$ stmt-> close ();

$ conn-> close ();

>>

`` `

Επεξήγηση:

1. Σύνδεση βάσης δεδομένων: Ο κώδικας δημιουργεί πρώτα μια σύνδεση με τη βάση δεδομένων SQL χρησιμοποιώντας την επέκταση `mysqli`. Αντικαταστήστε τις τιμές κράτησης θέσης με τα πραγματικά διαπιστευτήρια βάσης δεδομένων σας.

2. Αναγνωριστικό χρήστη: Υποθέτει ότι έχετε μια μεταβλητή περιόδου σύνδεσης `$ _session ['user_id'] που αποθηκεύει το αναγνωριστικό χρήστη που έχει καταγραφεί. Αυτό είναι τυπικά ρυθμισμένο κατά τη διάρκεια της διαδικασίας σύνδεσης.

3. Προετοιμασμένη δήλωση: Χρησιμοποιεί μια προετοιμασμένη δήλωση για την πρόληψη των τρωτών σημείων έγχυσης SQL. Η μεταβλητή `$ sql` διατηρεί το πρότυπο ερωτήματος και '$ stmt-> bind_param ()` δεσμεύει το αναγνωριστικό χρήστη ως παράμετρο.

4. Εκτέλεση και λήψη: Το `$ stmt-> execute () εκτελεί το ερώτημα και` $ stmt-> get_result () `ανακτά το σύνολο αποτελεσμάτων.

5. Επεξεργασία δεδομένων:

- Ελέγχει αν το ερώτημα επέστρεψε οποιεσδήποτε σειρές χρησιμοποιώντας `$ result-> num_rows`.

- Εάν υπάρχουν σειρές, φέρνει τα δεδομένα του χρήστη ως συσχετιστικό πίνακα χρησιμοποιώντας `$ result-> fetch_assoc ()`.

- Στη συνέχεια, μπορείτε να έχετε πρόσβαση σε συγκεκριμένα πεδία δεδομένων χρησιμοποιώντας τα ονόματα των στηλών τους (π.χ. `$ userData ['username']`).

6. Κλείστε τις συνδέσεις: Είναι σημαντικό να κλείσετε τη σύνδεση προετοιμασμένης δήλωσης και βάσης δεδομένων για την απελευθέρωση των πόρων.

Σημαντικές σημειώσεις:

- Διαχείριση περιόδου σύνδεσης: Βεβαιωθείτε ότι διαθέτετε ένα ασφαλές σύστημα διαχείρισης συνεδριών για τη διατήρηση της κατάστασης σύνδεσης του χρήστη.

- Δομή βάσης δεδομένων: Αυτός ο κώδικας αναλαμβάνει έναν πίνακα `χρήστες με μια στήλη` id`. Ρυθμίστε τα ονόματα των πίνακα και των στηλών για τη συγκεκριμένη βάση δεδομένων σας.

- Ασφάλεια: Χρησιμοποιείτε πάντα προετοιμασμένες δηλώσεις για να αποτρέψετε τις επιθέσεις έγχυσης SQL. Αποφύγετε την άμεση ενσωμάτωση της εισόδου του χρήστη σε ερωτήματα SQL.

- Χειρισμός σφαλμάτων: Εφαρμόστε τους ισχυρούς μηχανισμούς χειρισμού σφαλμάτων για να πιάσετε τυχόν σφάλματα σύνδεσης βάσης δεδομένων ή αποτυχίες εκτέλεσης ερωτήματος.

- Προστασία της ιδιωτικής ζωής δεδομένων: Βεβαιωθείτε ότι ανακτάτε μόνο δεδομένα που είναι απαραίτητα για τη συγκεκριμένη λειτουργικότητα και συμμορφώνεστε με τους κανονισμούς απορρήτου δεδομένων.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα