..
Εισαγωγή
Η αλληλεπίδραση μεταξύ PHP και η βάση δεδομένων βρίσκει υψηλότερη έκφραση της με την MySQL και στις δύο Linux και Windows συστήματα. PHP στα Windows είναι σε θέση να εργαστεί με βάσεις δεδομένων, εκτός από MySQL, αξιοποιώντας τις δυνατότητες και τις διασυνδέσεις που απαιτούνται από διάφορα DBMS. Είναι η PHP είναι σε θέση να συνεργαστεί με MS Access και MS SQL Server: Σε αυτό το άρθρο θα δούμε πώς PHP αλληλεπιδρά με την Access.
Η διασύνδεση μεταξύ κάθε γλώσσα προγραμματισμού, και Web WUI, με DBMS από τη Microsoft, όπως η Access της, ADO (ActiveX Data Objects) ήδη εξοικειωμένοι με προγραμματιστές ASP, ASP.NET και τη Visual Basic.
Πριν ξεκινήσετε με την εξήγηση του ADO και της χρήσης της μέσω PHP και πριν από την εφαρμογή των παραδειγμάτων, αισθάνομαι υποχρεωμένος να πω ότι η PHP σε συνδυασμό με ένα ΣΔΒΔ από τη Microsoft δεν είναι η πλέον ενδεδειγμένη και την απόδοση, αλλά ακόμα πλήρως λειτουργικό.
Οι γνώσεις που απαιτούνται για την πλήρη κατανόηση του παρόντος άρθρου είναι οι εξής:
Δομή της βάσης δεδομένων δοκιμών
Για την εφαρμογή ορισμένων πρακτικό παράδειγμα θα δημιουργήσουμε το αρχείο αποτελείται από τους μεμονωμένους χρήστες πρόσβαση πίνακα database.mdb, με τη σειρά του αποτελείται από τα πεδία id (counter), όνομα (κείμενο) και επώνυμο (Κείμενο).
Τοποθετήστε τη βάση δεδομένων στην προσωπική Web server σας, Apache ή EasyPHP ότι, για παράδειγμα στη δοκιμασία
C: \ percorso_fisico \ database.mdbpercorso_fisico όπου είναι η φυσική διεύθυνση της προσωπικής του διακομιστή Web σας, η εγκατάσταση, όπως σε αυτό το παράδειγμα, το διαμέρισμα C.
Η βάση δεδομένων είναι έτοιμη. Συνέχεια.
Εισαγωγή στην ADO
ADO είναι μια βιβλιοθήκη από τη Microsoft που επιτρέπει την αλληλεπίδραση με ΣΔΒΔ από την ίδια τη Microsoft ή με άλλα ΣΔΒΔ όπως η MySQL για την χρήση της με ASP.
ADO προσφέρει τρία βασικά αντικείμενα: Σύνδεση, Recordset, και Command. Αυτό το άρθρο χρησιμοποιεί τους δύο πρώτους που υπηρετούν αντίστοιχα για τη διαχείριση της σύνδεσης και να διαχειρίζεται τα δεδομένα. Το τρίτο είναι ένα θέμα ειδικός, αλλά δεν είναι πολύ καλή ακόμα και χρησιμοποιείται από προγραμματιστές της Microsoft για να πεθάνει, εκτός από ειδικές περιπτώσεις.
ASP Προγραμματιστές σημείωση: Αγαπητοί συνάδελφοι, όπως και εγώ :-) που έχετε συνηθίσει να χρησιμοποιείτε το dot χαρακτήρα Για να διαχωρίσετε το όνομα της μεταβλητής που περιέχει, για παράδειγμα η σύνδεση, η μέθοδος ή ιδιότητα που πρέπει να χρησιμοποιείται? Στην PHP, για (.) η μόνη αλληλεπίδραση με το ADO, χρησιμοποιείται ως διαχωριστικό με τη μορφή ->
μεταβλητή-> μέθοδοθυμάστε αυτό!
Δημιουργία τη σύνδεση βάσης δεδομένων
Τώρα, δημιουργήστε έναν φάκελο στον web server της δοκιμής μας, όπως για παράδειγμα στο αρχείο και τοποθετήστε phpaccess connessione.php που περιέχει τον ακόλουθο κώδικα:
<? PHP
$ Db = "C: \ percorso_fisico \ database.mdb"?
$ Sc = "Provider = Microsoft.Jet.OLEDB.4.0? Data Source = $ db?"
;>
Η μεταβλητή $ db περιέχει τη φυσική διαδρομή του αρχείου και η μεταβλητή $ sc database.mdb περιέχει το OLEDB συμβολοσειρά σύνδεσης με τη βάση δεδομένων, το αρχείο αυτό θα πρέπει να περιλαμβάνονται σε όλα τα PHP αρχεία που θα εκτελέσει τις εργασίες για τη συγκεκριμένη βάση δεδομένων.
Ανάγνωση δεδομένων
Για να εκτελέσετε την ανάγνωση των δεδομένων που έχουμε δημιουργήσει στο διακομιστή, στο φάκελο δοκιμής, η leggi.php αρχείο, κάτω από το σχολίασε κώδικα του αρχείου:
<html>
<head>
<title> αλληλεπίδραση μεταξύ PHP και MS Access </ title>
</ Head>
<body>
<? PHP
/ / Συμπεριλάβετε το αρχείο που περιέχει τη συμβολοσειρά σύνδεσης
περιλαμβάνουν («connessione.php")?
/ / Δημιουργία δύο αντικείμενα COM που περιέχει τη σύνδεση και εγγραφών
$ CN = νέα ΚΟΑ («ADODB.Connection")?
$ Rs = νέα ΚΟΑ («ADODB.Recordset")?
/ / Ανοίγω τη σύνδεση και το σύνολο εγγραφών
$ Cn-> open ($ SC)?
$ Rs-> Open ("SELECT * FROM χρήστες", $ CN)?
/ / Έλεγχος ότι δεν υπάρχουν στοιχεία για τον πίνακα
if ($ rs-> ΕΟΦ) εκτύπωσης "Δεν βρέθηκαν δεδομένα </ p>"?
<b> / / Αν υπάρχει ένας κύκλος της ανάγνωσης </ b>
άλλο, ενώ ($ rs-> ΕΟΦ == FALSE)
{
print "<p>"?
print "<b> Όνομα: </ b>".
$ Rs-> Fields ['name'] -> αξία?
print "κόσμο"?
print "<b> Επώνυμο: </ b>".
$ Rs-> Fields ['name'] -> αξία?
print "</ p>"?
$ Rs-> MoveNext ()?
}
/ / Κλείσιμο του συνόλου εγγραφών
$ Rs-> Κλείσιμο ()?
$ Rs-> Release ()?
$ Rs = null?
/ / Κλείσετε τη σύνδεση
$ Cn-> Κλείσιμο ()?
$ Cn-> Release ()?
$ CN = null?
;>
</ Body>
</ Html>
Η λειτουργία είναι απλή: Recordset για να περάσει την ανάγνωση και συγκεκριμένα ερωτήματα στη μεταβλητή στην οποία η σύνδεση άνοιξε, τις ιδιότητες των εγγραφών EOF (End Of File) διαβάζει όλα τα δεδομένα, σύμφωνα με το συγκεκριμένο ερώτημα, αν ορίσετε την τιμή TRUE σημαίνει ότι δεν υπάρχουν στοιχεία στη βάση δεδομένων, ξεκινήσει στη συνέχεια το μήνυμα ειδοποίησης, αν οριστεί σε FALSE σε έναν βρόχο, διαβάζει όλα τα δεδομένα, σύμφωνα με το καθορισμένο ερώτημα? MoveNext () τερματίζει το βρόχο και τη θέση του δρομέα ADO στην αρχή του κύκλου, αποφεύγοντας ένα άπειρο βρόχο.
Το κλείσιμο του αντικειμένου είναι οι μέθοδοι Κλείσιμο () και Release () που υπηρετούν αντίστοιχα για να κλείσει και να καταστρέψει ένα αντικείμενο COM. Τέλος έχετε ορίσει τη μεταβλητή σε null για να καθαρίσετε τη μνήμη της μεταβλητής.
Η εγγραφή δεδομένων
Το κριτήριο με το οποίο γράφετε δεδομένα σε μια βάση δεδομένων της Access με την PHP είναι παρόμοια με το κριτήριο της ανάγνωσης των δεδομένων στον παρακάτω κώδικα, που γράφτηκε στο αρχείο δεν χρησιμοποιεί το scrivi.php εγγραφών, αλλά εκτελεί μια SQL INSERT χάρη στο Execute () μέθοδο του «αντικείμενο Connection, σχολίασε ο κωδικός:
<html>
<head>
<title> αλληλεπίδραση μεταξύ PHP και MS Access </ title>
</ Head>
<body>
<? PHP
/ / Συμπεριλάβετε το αρχείο που περιέχει τη συμβολοσειρά σύνδεσης
περιλαμβάνουν («connessione.php")?
$ CN = νέα ΚΟΑ («ADODB.Connection")?
$ Cn-> open ($ SC)?
/ / Ορίστε το ερώτημα
$ Sql = "INSERT INTO χρηστών (όνομα, επώνυμο) VALUES ('Luca', 'Ρότζερ')"?
/ / Κάντε εισαγωγή δεδομένων
$ Cn-> Εκτέλεση ($ sql)?
/ / Έναρξη ένα μήνυμα επιβεβαίωσης
print "Τοποθέτηση <p> ολοκλήρωσε με επιτυχία </ p>"?
/ / Κλείσετε τη σύνδεση
$ Cn-> Κλείσιμο ()?
$ Cn-> Release ()?
$ CN = null?
;>
</ Body>
</ Html>
| |
Linux (Μάθημα)
Πλήρης οδηγός για την open-source σύστημα. Από 49 €. |
| |
MySQL (Μάθημα)
Διαχείριση του open-source βάση δεδομένων. Από 39 €. |
| |
PHP (Μάθημα)
Η πλήρης σειρά μαθημάτων για τη δημιουργία δυναμικών ιστοσελίδων. Από 49 €. |