Στην έκδοση του SQL MySQL , θα σηματοδοτούν την αρχή και το τέλος μιας συμβολοσειράς είτε με μονά εισαγωγικά ή διπλά εισαγωγικά . Και τα δύο παραδείγματα που ακολουθούν ισχύουν :
INSERT INTO COMPANY_TABLE ( company_name ) ΑΞΙΕΣ « The Fish Shack » ?
INSERT INTO COMPANY_TABLE ( company_name ) ΑΞΙΕΣ " The Fish Shack " ?
το παράδειγμα που ακολουθεί , ωστόσο , δημιουργεί ένα σφάλμα:
INSERT INTO COMPANY_TABLE ( tag_line ) ΑΞΙΕΣ « Eat at Τζο - είναι καλό φαγητό ! " ?
SQL θέλει να ερμηνεύσει τη συμβολοσειρά ως " " Eat at Joe » , « με ό, τι μετά τη δεύτερη απόστροφο ως εσφαλμένη . Το κείμενο που ακολουθεί δεν διορθώσει το πρόβλημα :
INSERT INTO COMPANY_TABLE ( tag_line ) ΑΞΙΕΣ "Eat at Τζο - Είναι καλό φαγητό ! " ?
Αυτό θα μπορούσε να λειτουργήσει αν το κείμενο είχε μόνο μία απόστροφο ανάμεσα σε διπλά εισαγωγικά , αλλά το κείμενο αυτό έχει δύο . Επίσης , επειδή μερικοί Web- page γλώσσες προγραμματισμού χρησιμοποιούν οι ίδιοι διπλά εισαγωγικά , μπορεί να θέλετε να αποφύγετε τη χρήση τους σε SQL σας .
Εικόνων Double Απόστροφοι και Backslash Escape
Η
λύση της MySQL είναι να ερμηνεύσει δύο αποστρόφους σε μια σειρά - '' - ως ένα ενιαίο χαρακτήρα των δεδομένων απόσπασμα . Ένας χαρακτήρας backslash , ή " \\ ", αμέσως πριν από μια απόστροφο σε δεδομένα που έχει το ίδιο αποτέλεσμα . MySQL αντιμετωπίζει το συνδυασμό backslash και άλλους ειδικούς χαρακτήρες , όπως μια ακολουθία διαφυγής , δημιουργώντας ουσιαστικά ένα χαρακτήρα από τα δύο . Και τα δύο από τα ακόλουθα παραδείγματα λύσει το πρόβλημα :
INSERT INTO COMPANY_TABLE ( tag_line ) ΑΞΙΕΣ « Eat at Joe '' s - Το '' s Good Food ! " ?
INSERT INTO COMPANY_TABLE ( tag_line ) ΑΞΙΕΣ « Eat at Joe \\ ' s - θα \\ ' s Good Food ! " ?
Όταν γράφετε προγράμματα τα οποία δημιουργούν καταστάσεις MySQL , θα πρέπει πρώτα να σαρώσει όλες τις χορδές κείμενο σας και να προσθέσετε είτε μια απόστροφο ή backslash πριν από οποιαδήποτε αποστρόφους στα δεδομένα σας .
Η addslashes λειτουργία
Η
Η PHP Web γλώσσα προγραμματισμού , συχνά χρησιμοποιείται σε συνδυασμό με MySQL , έχει μια λειτουργία addslashes ενσωματωμένο για να μετατρέψει αυτόματα αποστρόφους να backslash - απόστροφο ζεύγη . Απλά να εκτελέσει τη λειτουργία στις χορδές των δεδομένων σας, όπως σε αυτό το παράδειγμα :
$ tag_line = addslashes ( tag_line $ ) ?
Εικόνων Stripslashes
Η
Μόλις Λειτουργία έχουν μετατραπεί σε αποστρόφους μεταβλητών δεδομένων για backslash - αποστρόφους , μπορεί να χρειαστεί να τα μετατρέψετε πίσω σε κανονικό δεδομένα . Η λειτουργία stripslashes PHP εκτελεί το έργο αυτό για σας σε ένα μόνο βήμα . Χρησιμοποιήστε το όπως στο ακόλουθο παράδειγμα :
$ tag_line = stripslashes ( $ tag_line ) ?
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα