EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
Ορισμός ως προεπιλεγμένη γλώσσα
PF ερωτήσεις - Φόρουμ

Το 10 μεγάλα σφάλματα σχετικά με MySQL που μας κάνουν οι προγραμματιστές PHP

Webmasters και SEO  
 
Το 10 μεγάλα σφάλματα σχετικά με MySQL που μας κάνουν οι προγραμματιστές PHP

Όταν προγράμματα στο PHP και την εφαρμογή σας αρχίζει να έχουν ορισμένα Εκπέτασμα πτέρυγας, το πιο λογικό πράγμα είναι ότι χρειάζεστε για την υποστήριξη σας σε ένα σύστημα διαχείρισης βάσης δεδομένων να αποθηκεύουν και να χειριστείτε δεδομένα σχετικά με το ίδιο. Στην περίπτωση της PHP, είναι το σύστημα που χρησιμοποιείται σε μεγαλύτερο βαθμό MySQL.

Δεν είναι εύκολο οικοδομήσουμε μια στερεά βάση δεδομένων, αξιόπιστη, που είναι απαλλαγμένη από αντιφάσεις και τρωτά σημεία και, Ως εκ τούτου, έχουν μια δομή που βασίζεται σε οποιαδήποτε από τις κανονικές μορφές συνηθέστερα χρησιμοποιούνται. Έτσι είναι φυσιολογικό ότι, ως προγραμματιστές PHP, εμπίπτουν σε οποιαδήποτε από τις σημαντικά λάθη Όταν εργάζεστε με MySQL.

 

1. Χρησιμοποιήστε αντί για InnoDB MyISAM

MyISAM είναι η μηχανή έχει ρυθμιστεί από προεπιλογή στην εγκατάσταση του MySQL Αλλά, Αν δεν έχετε ακόμα το έργο σας ή τη βάση δεδομένων σας στην ανάπτυξη είναι αρκετά απλή, ES σκόπιμο χρήση InnoDB. Αυτό αναγνωρίζει ότι συναλλαγές, απαραίτητο για την ακεραιότητα των δεδομένων. Επιπλέον, κατά την εισαγωγή ή ενημέρωση μια εγγραφή, μόνο το μπλοκ σε αυτό, και να μην το ολόκληρο τον πίνακα όπως συμβαίνει MyISAM, έχοντας μια θετική επίδραση επί του απόδοση, πάνω από όλα με την Γραφές.

 

2. Μην χρησιμοποιείτε τις λειτουργίες κατάλληλο για MySQL με την PHP

PHP παρέχει ειδικές λειτουργίες για τη σύνδεση και τη χρήση των MySQL. Λειτουργίες, όπως mysql_connect, mysql_query, … Οι λειτουργίες αυτές ήταν βελτιωμένη για τις εκδόσεις των PHP μεγαλύτερη ή ίση με την 4.1.3, έτσι είναι σκόπιμο να χρησιμοποιήσει αυτό το τελευταίο, κλήση MySQLi. Αυτό παρουσιάζει μια σειρά από πλεονεκτήματα ως διεπαφή Αντικειμενοστραφής, πρόληψη επίθεσης χρησιμοποιώντας SQL ένεση το preparedStatements, αύξηση των επιδόσεων, κλπ.

 

3. Δεν αποστειρώνουν καταχωρήσεις χρήστη

Να το δεν καθαρίσει το Εισιτήρια ο χρήστης και να χρησιμοποιήσετε για να δημιουργήσετε μια δήλωση SQL, οποία η εκτέλεση στη βάση δεδομένων, Δίνουμε άνοδο σε μια ευπάθεια επιτρέποντας την ένεση κώδικα SQL τα πεδία από τα οποία παίρνουμε αυτές τις τιμές.

Αν, από παράδειγμα, Είμαστε στο χειρισμό ενός Είσοδος χρήστη, και να πάρετε τα δεδομένα φόρμας τους αναθέτουμε απευθείας με τον ακόλουθο τρόπο:

Εάν στο πεδίο Όνομα Εισάγουμε την τιμή “Admin ’; –“ (χωρίς εισαγωγικά), η αλυσίδα Προκύπτουσα SQL θα είναι ως εξής:

Με αυτά που ο χρήστης θα συμφωνούσε άμεσα χωρίς τη θέσπιση οποιοδήποτε είδος της Κωδικός πρόσβασης, Επιπλέον να δεχτούν όπως το διοικητή, Αν Admin Ήταν κάποιο όνομα χρήστη του διαχειριστή.

 

4. Μην χρησιμοποιείτε κωδικοποίηση UTF-8

Χρησιμοποιεί αυτήν την κωδικοποίηση αποφεύγει τα πολλά προβλήματα του διεθνοποίηση, Δεδομένου ότι εμείς πρέπει να έχουμε κατά νου ότι μας web site δεν είναι μόνο αυτό θα είναι δυνατή η πρόσβαση από τη δική μας χώρα, αλλά από χώρες χαρακτήρα των οποίων ορίζει διαφέρουν σε μεγάλο βαθμό Goodfellas.

 

5. Το κάνετε χρησιμοποιώντας όλα PHP

Είναι κοινό να εκτελέσει οποιαδήποτε κωδικοποίηση χρησιμοποιώντας την γλώσσα PHP, ακόμα και εκείνες τις λειτουργίες που ήταν πολύ πιο γρήγορα Αν κάνετε αυτά τα Διαχείριση βάση δεδομένων. Για παράδειγμα, Χρησιμοποιήστε ένα βρόχου PHP για να υπολογίσετε ένα κατά μέσο όρο, προσθέτοντας όλες τις τιμές του ενός συνόλου εγγραφών, αντί να χρησιμοποιεί την εγγενή λειτουργία MySQL, AVG().

Με τον ίδιο τρόπο, Υπάρχει η δυνατότητα κωδικοποίησης εσωτερικές διαδικασίες και λειτουργίες στην ίδια βάση δεδομένων, ευνοώντας τις επιδόσεις την εφαρμογή μας σε παγκόσμιο επίπεδο.

 

6. Δεν βελτιστοποιεί ερωτήματα

Το 99% είναι μια παράσταση εφαρμογή PHP προβλήματα προκαλείται από βάση δεδομένων. Θα πρέπει να γνωρίζουν ότι μια απλή Εσφαλμένο ερώτημα Μπορεί να προκαλέσει μια δυσχέρεια στην ιστοσελίδα μας, έτσι είναι σκόπιμο να εκτελέσει μια βελτιστοποίηση διαβουλεύσεις βαρύτερα.

Υπάρχουν εφαρμογές και δέσμες ενεργειών θα εξετάσετε το διακομιστή σας MySQL και θα σας δώσει Συμβουλές να βελτιώσουν την απόδοσή τους, καθώς θα σας δείξουν τα πιθανά ερωτήματα που θα πρέπει να βελτιστοποιείται.

 

7. Χρησιμοποιείτε τύποι δεδομένων είναι εσφαλμένοι

MySQL παρέχει ένα σύνολο τύποι δεδομένων ποικίλη (αριθμητική, αλυσίδα, χρόνος, ημερομηνία, …). Εάν πρόκειται να αποθηκεύσετε μια ημερομηνία, χρήση του τύπου ΝΑ ΣΑΣ ΔΏΣΕΙ o ΗΜΕΡΟΜΗΝΊΑΣ ΚΑΙ ΏΡΑΣ, αντί να χρησιμοποιεί ένα ΑΚΈΡΑΙΟΣ ΑΡΙΘΜΌΣ o ΣΥΜΒΟΛΟΣΕΙΡΆ, να κάνουμε περισσότερα πολύπλοκα Οι διαβουλεύσεις.

Συχνά, είναι δελεαστικό να δημιουργήσετε σας τύποι δεδομένων δική και να τα αποθηκεύσετε στη βάση δεδομένων ως PHP σειριοποίηση αντικειμένων. Παρά το γεγονός ότι η διαχείριση της βάσης δεδομένων θα είναι ευκολότερη, σας θα αποτρέψει εύκολα να εκτελέσετε αναζητήσεις και απορίες σχετικά με τα αποθηκευμένα δεδομένα.

 

8. Χρησιμοποιήστε τον αστερίσκο (*) Επιλέξτε ερωτήματα

Ποτέ μην χρησιμοποιείτε τον αστερίσκο στις διαβουλεύσεις ΕΠΙΛΈΞΤΕ, εκτός αν πρόκειται για αυστηρά είναι απαραίτητο. Προσπαθήστε να κάνετε πάντα μια διαβούλευση σχετικά με τα πεδία που χρειάζεστε πραγματικά, άλλοι είναι φθαρμένα πόρων μάταια.

 

9. Δεν ευρετηρίου ή sobre-indexacion

Κανονικά, το ευρετήρια εφαρμόζονται σε οποιαδήποτε στήλη κατά την οποία ένα ερώτημα ΕΠΙΛΟΓΉΣ θα εκτελέσει τις πού, από το χρήσιμο το δημιουργία ευρετηρίων για ερωτήματα που καταναλώνουν περισσότερους πόρους και εκείνων που χρησιμοποιούνται συνήθως.

Με τον ίδιο τρόπο, Προσθήκη ευρετήρια σε κάθε στήλη Μπορείτε να το κάνετε πτώση απόδοσης επειδή διακομιστή στον οποίο πρέπει να είναι αναγεννημένη για κάθε εισαγωγή ή ενημέρωση του πίνακα.

 

10. Ξεχάστε για δημιουργία αντιγράφων ασφαλείας

Ή δεν το πιστεύω, Οι βάσεις δεδομένων αποτυγχάνουν, καθώς και σκληρούς δίσκους ή οποιαδήποτε άλλη υλικό ή λογισμικό που μπορεί να έχουν τον server όπου σας έχουν φιλοξενήσει τις βάσεις δεδομένων σας. Εάν η εφαρμογή web έχει ορισμένα σημασία, Φανταστείτε να χάσετε blow όλες τις πληροφορίες σχετικά με αυτό.

Για να αποφευχθεί αυτό, Είναι σύνηθες να κάνετε τακτικά αντίγραφα ασφαλείας, ή απλά, Προγραμματίστε τους που πραγματοποιούνται αυτόματα.

 

Πώς μπορώ να δω, Αυτά είναι μόνο 10 σημαντικά λάθη PHP προγραμματιστές μπορούν ή τείνουν να διαπράξει κατά την εργασία με το διαχειριστή της βάσης δεδομένων MySQL. Περιττό να πω ότι, Εκτός από αυτό, τόσο γνωστό, βάσεις δεδομένων συστήματος, Υπάρχουν άλλες λύσεις Το ίδιο αξιόπιστο και πολύ καλό, και ότι μπορούν να είναι επίσης η επιλογή για οποιοδήποτε από τα σχέδια ή τις εφαρμογές web που πρέπει να αναπτύξουμε στο πλαίσιο PHP.

Αφήστε μας ένα σχόλιο ή enter για να τοΦόρουμ
Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page

Σχετικά άρθρα