..
Wprowadzenie
Interakcja między PHP i bazy danych znajduje swój najwyższy wyraz z MySQL na Linuksie i Windows. PHP w systemie Windows jest w stanie pracować z bazami danych innych niż MySQL, wykorzystując funkcje i interfejsy wymagane przez różne DBMS. Czy PHP może pracować z MS Access i MS SQL Server: W tym artykule pokażemy, jak PHP współpracuje z Access.
Interfejs pomiędzy dowolnym języku programowania, zarówno WUI Web z DBMS od firmy Microsoft, takich jak Access, ADO (ActiveX Data Objects), znanych już programistów ASP, ASP.NET i Visual Basic.
Przed rozpoczęciem z wyjaśnieniem, ADO i jej wykorzystanie poprzez PHP i jako pierwszy zastosował przykłady, czuję się w obowiązku powiedzieć, że PHP w połączeniu z DBMS Microsoft nie jest to najbardziej wskazane i wydajność, ale w pełni funkcjonalny.
Wiedzy potrzebnej do pełnego zrozumienia niniejszego artykułu:
Struktury bazy danych testu
Do realizacji niektórych praktyczny przykład stworzymy plik składa się z pojedynczych użytkowników dostępu tabeli database.mdb z kolei składa się z pola id (licznik), nazwa (tekst) i nazwisko (Tekst).
Umieścić bazę danych na własnym serwerze sieci Web, Apache lub EasyPHP, że na przykład w teście uruchomić
C: \ percorso_fisico \ database.mdbpercorso_fisico gdzie jest fizyczny adres Personal Web Server, zainstalowany, jak w przykładzie, partycja C.
Baza danych jest już gotowa. Nadal.
Wprowadzenie do ADO
ADO biblioteki Microsoft, które pozwala na interakcję z DBMS Microsoft sam lub z innymi DBMS, np. z MySQL na jego stosowanie z ASP.
ADO oferuje trzy podstawowe przedmioty: Connection, Recordset i Command. Ten artykuł wykorzystuje dwa pierwsze, odpowiednio, które służą do zarządzania połączeniem i zarządzania danymi. Trzeci jest przedmiotem specjalistycznych, ale nie za dobry, nawet przez programistów za pomocą programu Microsoft stylu, z wyjątkiem specjalnych okazji.
(.): ASP Programmers Uwaga Drodzy koledzy :-) podobnie jak ja, są przyzwyczajeni do korzystania z dot Aby oddzielić nazwę zmiennej, która zawiera, na przykład połączenia, metody lub właściwości do wykorzystania; w PHP, na tylko interakcji z ADO, formularz jest używany jako separator ->
Zmienna-> metodapamiętaj!
Mamy ustanowienia połączenia z bazą danych
Teraz tworzymy katalog w naszym teście serwera sieci Web, na przykład w pliku i wstawić phpaccess connessione.php zawierającą następujący kod:
<? PHP
$ Db = "C: \ percorso_fisico \ database.mdb";
$ Sc = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = $ db;"
?>
Zmienna $ db zawiera fizyczny ścieżkę do pliku i zmiennej $ database.mdb sc zawiera OLEDB parametry połączenia do bazy danych, plik ten zostanie uwzględnione we wszystkich plików PHP, które będą wykonywać operacje na danej bazy.
Odczytu danych
Aby odczytu danych tworzymy na serwerze, w katalogu test, leggi.php pliku, poniżej skomentował kod w pliku:
<html>
<head>
Interakcje <title> między PHP i MS Access </ title>
</ Head>
<body>
<? PHP
/ / Dołącz plik zawierający ciąg połączenia
include ("connessione.php");
/ / Utwórz dwa obiekty COM zawierający Connection i Recordset
$ Cn = new COM ("ADODB.Connection");
$ R = new COM ("ADODB.Recordset");
/ / Otwieram Connection i Recordset
$ Cn-> open ($ sc);
$ Rs-> Open ("SELECT * FROM users", $ cn);
/ / Sprawdź, czy nie ma danych na stole
if ($ rs-> EOF) print "Nie znaleziono danych </ p>";
<b> / / Jeśli nie to cykl odczytu </ b>
else while ($ rs-> EOF == FALSE)
{
print "<p>";
print "<b> Imię i nazwisko: </ b>".
$ Rs-> Fields ['name'] -> wartość;
print "Łódź";
print "<b> Imię i nazwisko: </ b>".
$ Rs-> Fields ['name'] -> wartość;
print "</ p>";
$ Rs-> MoveNext ();
}
/ / Zamknij Recordset
$ Rs-> Close ();
$ Rs-> Release ();
$ R = null;
/ / Zamknięcie połączenia
$ Cn-> Close ();
$ Cn-> Release ();
$ Cn = null;
?>
</ Body>
</ Html>
Obsługa jest prosta: przekazać zapytanie do Recordset, i przeczytaj określa zmienną, gdy połączenie zostało otwarte, na własność rekordów EOF (End Of File) odczytuje wszystkie dane w określonym zapytania, jeśli ma wartość TRUE Oznacza to, że nie ma żadnych danych w bazie danych, a następnie uruchomić powiadomienie, jeśli ma wartość FAŁSZ wewnątrz pętli, odczytuje wszystkie dane zgodnie z określonym zapytanie, MoveNext () zatrzymuje cykl i umieść kursor ADO na początku cyklu, unikając w nieskończoną pętlę.
Kończąc temat metody Close () i Release (), odpowiednio, które są używane, aby zamknąć i zniszczyć obiekt COM. Wreszcie ustawia zmienną na null, aby wyczyścić pamięć zmiennej.
Zapisu danych
Kryterium, według którego dane są zapisywane w bazie danych programu Access z PHP jest podobny do kryterium odczytywania danych w następujący kod, napisany w pliku nie używa scrivi.php Recordset ale wykonuje SQL INSERT, dzięki Execute () metoda "obiektu Connection, skomentowany kod:
<html>
<head>
Interakcje <title> między PHP i MS Access </ title>
</ Head>
<body>
<? PHP
/ / Dołącz plik zawierający ciąg połączenia
include ("connessione.php");
$ Cn = new COM ("ADODB.Connection");
$ Cn-> open ($ sc);
/ / Zdefiniuj zapytanie
$ Sql = "INSERT INTO users (imię, nazwisko) VALUES ('Łukasz', 'Roger')";
/ / Make wprowadzania danych
$ Cn-> Execute ($ sql);
/ / Uruchom wiadomość z potwierdzeniem
print "Wkładanie <p> zakończona pomyślnie </ p>";
/ / Zamknięcie połączenia
$ Cn-> Close ();
$ Cn-> Release ();
$ Cn = null;
?>
</ Body>
</ Html>
| |
Linux (Kurs)
Kompletny przewodnik po systemie open-source. Począwszy od 49 €. |
| |
MySQL (Kurs)
Zarządzanie bazą danych open-source. Począwszy od 39 €. |
| |
PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Począwszy od 49 €. |