Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> PHP /MySQL Προγραμματισμός

Πώς διαγράφετε δεδομένα από μια βάση δεδομένων MySQL χρησιμοποιώντας PHP;

Η διαγραφή δεδομένων από μια βάση δεδομένων MySQL χρησιμοποιώντας PHP περιλαμβάνει διάφορα βήματα:

1. Δημιουργήστε μια σύνδεση βάσης δεδομένων: Θα χρειαστεί να συνδεθείτε στη βάση δεδομένων MySQL χρησιμοποιώντας μια επέκταση PHP MySQLI ή PDO (αντικείμενα δεδομένων PHP). Το MySQLI προτιμάται γενικά για την αντικειμενοστραφή προσέγγισή του, αλλά η PDO προσφέρει καλύτερη φορητότητα βάσεων δεδομένων.

2. Προετοιμάστε και εκτελέστε ένα ερώτημα διαγραφής: Κατασκευάζετε μια δήλωση SQL `Delete` για να καθορίσετε ποιες σειρές πρέπει να καταργήσετε. Βασικά, θα πρέπει να πάντα Χρησιμοποιήστε παρασκευασμένες δηλώσεις για να αποτρέψετε τα ευπάθειες έγχυσης SQL.

3. Σφάλματα χειρισμού: Ελέγξτε για σφάλματα κατά τη διάρκεια των διαδικασιών σύνδεσης και εκτέλεσης ερωτήματος.

Δείτε πώς θα το κάνατε χρησιμοποιώντας τόσο το Mysqli όσο και το PDO:

Χρήση mysqli:

`` `php

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

$ servername ="your_servername";

$ username ="your_username";

$ password ="your_password";

$ dbname ="your_dbname";

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

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

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

αν ($ conn-> connect_error) {

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

}

// Προετοιμασία και δέσμευση

$ stmt =$ conn-> Προετοιμασία ("Διαγραφή από το _Table Where id =?"); // Αντικαταστήστε ανάλογα το 'Your_Table' και 'ID'

$ stmt-> bind_param ("i", $ id); // 'I' Καθορίζει ότι το $ id είναι ένας ακέραιος. Ρυθμίστε τον τύπο δεδομένων ανάλογα με τις ανάγκες.

// Ορίστε τις παραμέτρους και εκτελέστε

$ id =123; // το αναγνωριστικό της σειράς για διαγραφή

$ stmt-> execute ();

// Ελέγξτε για σφάλματα

αν ($ stmt-> σφάλμα) {

die ("Σφάλμα διαγραφής δεδομένων:" $ stmt-> σφάλμα);

}

echo "Δεδομένα που διαγράφηκαν με επιτυχία".

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

$ stmt-> close ();

$ conn-> close ();

>>

`` `

Χρήση PDO:

`` `php

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

$ servername ="your_servername";

$ username ="your_username";

$ password ="your_password";

$ dbname ="your_dbname";

Δοκιμάστε {

$ conn =νέο PDO ("mysql:host =$ servername, dbname =$ dbname", $ username, $ password);

// Ρυθμίστε τη λειτουργία σφάλματος PDO στην εξαίρεση

$ conn-> setAttribute (pdo ::attr_errmode, pdo ::errmode_exception);

// Προετοιμάστε και εκτελέστε τη δήλωση διαγραφής

$ stmt =$ conn-> Προετοιμασία ("Διαγραφή από το_Table σας όπου id =:id"); // Οι παραμέτρους που ονομάζονται συχνά προτιμώνται

$ stmt-> bindparam (':id', $ id, pdo ::param_int); //:id είναι το σύμβολο κράτησης θέσης, $ id είναι η τιμή, pdo ::param_int καθορίζει τον τύπο δεδομένων

$ id =123; // το αναγνωριστικό της σειράς για διαγραφή

$ stmt-> execute ();

echo "Δεδομένα που διαγράφηκαν με επιτυχία".

} catch (pdoException $ e) {

Echo "Σφάλμα διαγραφής δεδομένων:". $ e-> getMessage ();

}

$ conn =null; // Κλείστε τη σύνδεση

>>

`` `

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

* Αντικαταστήστε τους κράτους: Βεβαιωθείτε ότι έχετε αντικαταστήσει το `` your_servername "`, `` your_username "`, `` your_password "` `` · your_dbname "`, `us_table" `` ` Η μεταβλητή `id` θα πρέπει να αντιπροσωπεύει το μοναδικό αναγνωριστικό της σειράς που θέλετε να διαγράψετε.

* Τύποι δεδομένων: Βεβαιωθείτε ότι ο τύπος δεδομένων στο `bind_param` (mysqli) ή` bindparam` (PDO) ταιριάζει με τον τύπο στήλης στον πίνακα βάσης δεδομένων. Οι λανθασμένοι τύποι δεδομένων μπορούν να οδηγήσουν σε σφάλματα.

* όπου ρήτρα: Η ρήτρα όπου είναι κρίσιμη. Χωρίς αυτό, η δήλωση "Delete` θα διαγράψει * όλες τις * σειρές από το τραπέζι! Χρησιμοποιήστε τις κατάλληλες συνθήκες για να επιλέξετε μόνο τις σειρές που σκοπεύετε να διαγράψετε.

* Συναλλαγές (για πολλαπλές διαγραφές): Για τη διαγραφή πολλαπλών σειρών ή την εκτέλεση πολλαπλών εργασιών βάσης δεδομένων ως μέρος μιας ενιαίας λογικής μονάδας εργασίας, χρησιμοποιήστε συναλλαγές για να εξασφαλίσετε ατομικότητα (όλες οι επιχειρήσεις επιτυγχάνουν ή καμία δεν κάνουν). Τόσο η MySQLI όσο και οι συναλλαγές υποστήριξης του PDO.

* Χειρισμός σφαλμάτων: Ο ισχυρός χειρισμός των σφαλμάτων είναι απαραίτητος. Τα παραδείγματα δείχνουν βασικό έλεγχο σφαλμάτων. Μπορεί να θέλετε πιο εξελιγμένη καταγραφή σφαλμάτων και χειρισμό σε περιβάλλον παραγωγής.

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

Θυμηθείτε να ενεργοποιήσετε την επέκταση MySQLI ή να εγκαταστήσετε την επέκταση του PDO στη διαμόρφωση PHP εάν δεν έχουν ήδη ενεργοποιηθεί. Μπορείτε συνήθως να το κάνετε αυτό τροποποιώντας το αρχείο `php.ini '.

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

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