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

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

PHP MySQL Vs . MySQLi

Η απελευθέρωση της PHP 5 έκδοση περιλαμβάνονται νέα παράταση για την πρόσβαση σε βάσεις δεδομένων MySQL ονομάζεται MySQL Βελτιωμένη , ή MySQLi . MySQLi προσφέρει βελτιωμένες επιδόσεις , μια δομή object-oriented , υποστήριξη για έτοιμες καταστάσεις και για πρόσθετη λειτουργικότητα , με τη μορφή των συναλλαγών της βάσης δεδομένων . Η τρέχουσα επέκταση MySQL δεν θα ενισχυθεί , για παράδειγμα, για την παροχή υποστήριξης unicode , και τελικά θα καταργηθεί σταδιακά αρχίζοντας με την έκδοση PHP 6 . Αντικειμενοστρεφής Δομή
Η

MySQLi παρέχει ένα σύνολο λειτουργιών για την δομή του κώδικα διαδικαστικές στυλ για να κάνουν τη μετάβαση από την MySQL ευκολότερη. Ωστόσο , παρέχει επίσης λειτουργικότητα μέσα από ένα σύνολο object-oriented τάξεις . Χρησιμοποιώντας ένα object-oriented στυλ μπορεί να κάνει η ενσωμάτωση MySQL ταιριάζει καλύτερα με την έκδοση PHP 5 αντικειμενοστραφή χαρακτηριστικά και συχνά εξαλείφει την ανάγκη για τη δημιουργία επιπλέον μεταβλητές για τη στήριξη ενεργειών MySQL και τα καθήκοντα . Για παράδειγμα , η ακόλουθη εικόνα δείχνει τον κωδικό για να συνδεθείτε σε ένα διακομιστή βάσης δεδομένων και να ανοίξετε μια βάση δεδομένων MySQL σε δύο και MySQLi : MySQL : $ dbc = mysql_connect ( " localhost " , "χρήστης " , " password" ) ? $ Db = mysql_select_database ( «βάση δεδομένων» ) ?

mySQLi : $ db = νέα mysqli ( "localhost " , "χρήστης " , "password " , " βάση δεδομένων ")?
Η
Έτοιμα καταστάσεις
Η

Ίσως η μεγαλύτερη διαφορά μεταξύ MySQL και MySQLi είναι η υποστήριξη MySQLi για έτοιμες καταστάσεις . Με την MySQL , θα πρέπει να λάβει ειδική φροντίδα για να ξεφύγουν από κάθε συμβολοσειράς που χρησιμοποιείται σε ένα ερώτημα για την αποτροπή SQL ένεση επιθέσεις . Με MySQLi και έτοιμες καταστάσεις , θα δεσμεύουν μια σειρά παραμέτρων σε ένα ερώτημα και να ρυθμίσετε τις παραμέτρους ίσες με τις διαφορετικές τιμές που θέλετε να χρησιμοποιήσετε στο ερώτημα . MySQLi φροντίζει να διασφαλίσει ότι όλος ο κώδικας είναι σωστά δραπέτευσε πριν από την εφαρμογή στη βάση δεδομένων . Για παράδειγμα , ο παρακάτω κώδικας εισάγει δύο recrods σε έναν πίνακα MySQL χρησιμοποιώντας MySQLi : ?

$ Stmt = $ db - > προετοιμασία ( " INSERT INTO PEOPLE ( Ονοματεπώνυμο , e-mail ) τιμές ( , ) ? $ Stmt - > bind_param ( "ss " , $ fullname , $ email ) ? $ fullname = " John Johnson " ? $ email = " john@johnjohnson.com " ? $ Stmt - > execute ( ) ? $ fullname = " Mary Johnson " ? $ email = " mary@johnjohnson.com " ? $ Stmt - > execute ( ) ? $ Stmt - > close ( ) ?

Η απόδοση βελτιώσεις
Η

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

MySQLi παρέχει πρόσθετη λειτουργικότητα , με τη μορφή των συναλλαγών . Με την επέκταση MySQLi , μπορείτε να συσσωρεύσει μια σειρά πράξεων δεδομένων μαζί σε μια συναλλαγή και να εκτελέσει τις εργασίες μαζί ως ενιαία συναλλαγή . Αν μια εργασία στη συναλλαγή αποτύχει , ολόκληρη η λειτουργία αποτυγχάνει και κάθε οι αλλαγές που έχουν γίνει επανέρχεται . για παράδειγμα , μπορείτε να χρησιμοποιήσετε μια συναλλαγή κατά τον προγραμματισμό μια μεταφορά χρημάτων μεταξύ δύο λογαριασμών , γιατί αν και οι δύο πλευρές της λειτουργίας επιτύχει , η πράξη δεν είναι μια επιτυχία , και δεν θέλετε να αφήσετε μια κατάσταση όπου ένας λογαριασμός έχει χρεωθεί , αλλά η άλλη λογαριασμός δεν έχει πιστωθεί .
Η
εικόνων

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

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