ΜΕΡΟΣ 4 - Δραπετεύοντας χορδές σωστά πριν από τη θέση σε SQL
Γιατί χρήση mysql_real_escape_string () αντί των addslashes; ΕΠΕΙΔΗ, ανάλογα με το ποιες ρυθμίσεις εγκατάστασης σας MySQL έχει πρόκειται για τη γλώσσα, υπάρχουν άλλα σύμβολα ΓΛΩΣΣΑΣ ότι η MySQL αντιμετωπίζει ως διπλά ή μονά εισαγωγικά. Υπάρχει αυτή η εντολή γωνία που χρησιμοποιεί phpMyAdmin όλη την ώρα: `(μετοχές κλειδί με την περισπωμένη char από κλειδί διαφυγής). Υπάρχουν και άλλοι, όπως καλλιγραφικά εισαγωγικά αριστερά και δεξιά. σγουρά διπλά εισαγωγικά αριστερά και δεξιά, κλπ ανάλογα με το τι ρύθμιση γλώσσας MySQL σας έχει, θα μπορούσε να υπάρξει μια ντουζίνα απ 'όσο γνωρίζω. addslashes () δεν τις επηρεάζει καθόλου όσο ξέρω. mysql_real_escape_string πρέπει - έτσι νομίζω έτσι κι αλλιώς. Αφαιρέστε μαγεία εισαγωγικά (εάν η ρύθμιση είναι ενεργοποιημένη) και να χρησιμοποιήσετε mysql_real_escape_string αντί addslashes. ΜΕΡΟΣ 5 - Μην stripslashes άσκοπα Αυτό μπορεί να είναι το είδος της σύγχυσης, αλλά όταν ξεφύγουν από όλα αυτά τα εισαγωγικά όταν δημιουργείτε SQL σας, μην ανησυχείτε! Τα περιεχόμενα της βάσης δεδομένων σας δεν πρέπει να έχουν καθέτους που πρέπει να απογυμνώνονται ΑΝ έχουν κάνει τη δουλειά σας σωστά. Για το λόγο αυτό, θα πρέπει να ΜΗΝ stripslashes () κατά την ανάκτηση πληροφοριών από τη βάση δεδομένων σας. Εάν παίρνετε όλα τα είδη του όταν τραβάτε δεδομένα από τη βάση δεδομένων σας, δεν έχετε να τοποθετήσετε σωστά στην πρώτη θέση. Και πάλι, ο λόγος για τον οποίο μπορείτε να προσθέσετε τις καθέτους στην πρώτη θέση είναι να κάνει έγκυρο SQL. Όταν εκτελείτε το έγκυρο SQL, οι ομοιοματικά εισαγωγικά δεν πηγαίνουν στη βάση δεδομένων με τις ανάστροφες καθέτους. Μπορείτε απλά να τους ανάστροφη κάθετο, έτσι ώστε η SQL δεν έχει σπάσει. Είναι σαφές; Κοιτάξτε το παράδειγμα O'Malley παραπάνω. Αυτό που πληκτρολογήσατε δεν υπάρχει έγκυρη SQL. Αν ήμουν «διαφύγει» ότι ένα απόσπασμα σε O'Malley, τότε * * θα είναι έγκυρη SQL
Μεταφράζονται, παρακαλώ περιμένετε..
