![]() |
Interfejs połączenia z bazą danych MySQL - Wersja do druku +- CemesiK (https://cemesik.7m.pl) +-- Dział: Jak stworzyć własny BLOG (https://cemesik.7m.pl/forumdisplay.php?fid=14) +--- Dział: Interfejs połączenia z bazą danych MySQL (https://cemesik.7m.pl/forumdisplay.php?fid=169) +--- Wątek: Interfejs połączenia z bazą danych MySQL (/showthread.php?tid=71) |
Interfejs połączenia z bazą danych MySQL - Admin - 05-16-2025 Lokalizacja pliku: /engine/mysql_drv.php. Aby ułatwić sobie pracę i umożliwić przeniesienie platformy błoga na inną bazę danych bez konieczności poprawiania całego systemu, powinniśmy utworzyć funkcje zawierające instrukcje dostępu do danej bazy i pozwalające się z nią łączyć W tym celu należy utworzyć i włączyć odpowiedni plik do systemu. Taki plik, czyli interfejs utworzony do połączenia z bazą danych MySQL, może zostać przekształcony w każdą inną bazę danych. Rozpoczynamy od utworzenia pliku mysql_drv.php w katalogu engine. W pliku znajdą się funkcje napisane w języku PHP, a więc kod rozpoczynamy znacznikiem: Kod PHP:
Następnie deklarujemy funkcję do połączenia z bazą danych, która przyjmuje trzy argumenty: $HostToDB - nazwa hosta, na którym działa serwer z bazą danych, $UserLogin - login użytkownika, który ma prawo dostępu do tej bazy danych oraz $UserPassword - hasło użytkownika do bazy danych. Kod PHP:
Wewnątrz funkcji wykorzystujemy polecenie mysql_connect, które ustanawia połączenie z bazą danych MySQL. Podajemy w nim parametry przekazane do funkcji. Polecenie deklarujemy wewnątrz warunku dla instrukcji if. Kod PHP:
Jeżeli udało się nawiązać połączenie z bazą danych, zwracamy za pomocą instrukcji return wartość TRUE. Kod PHP:
Jeżeli nie udało się nawiązać połączenia z bazą danych, zwracamy za pomocą instrukcji return wartość FALSE. Kod PHP:
Kolejnym krokiem jest wybór bazy danych dla naszego systemu. Deklarujemy funkcję, która wybierze bazę danych. Przyjmuje ona jeden argument, którym jest $DBName - zmienna zawierająca nazwę bazy danych. Kod PHP:
Wykonujemy polecenie mysql_select_db, dla którego w parametrze podajemy nazwę bazy danych. Polecenie to umieszczamy wewnątrz instrukcji if. Kod PHP:
Jeżeli udało się nawiązać połączenie z bazą danych, zwracamy za pomocą instrukcji return wartość TRUE. Kod PHP:
Jeśli nie uda się wybrać wskazanej przez nas bazy danych, zwracamy wartość FALSE za pomocą instrukcji return. Kod PHP:
Następnie zadeklarujemy funkcję do wykonywania zapytań do bazy danych MySQL. Będzie ona przyjmowała jeden argument $QueryToDB, w którym będzie się znajdowało zapytanie w języku SQL. Kod PHP:
Zmienną $ResultQuery deklarujemy jako zmienną globalną, aby była widoczna wewnątrz funkcji. Kod PHP:
Wykonujemy zapytanie do bazy danych za pomocą funkcji mysql_query. W parametrze tej funkcji podajemy zmienną dla zapytania SQL Wynik zapytania zostanie zwrócony do zmiennej $ResultQuery. Kod PHP:
Następnie sprawdzamy poprzez instrukcję if, czy w wyniku znajdują się jakieś wartości. Kod PHP:
Jeżeli w wyniku znajdują się jakieś wartości, wówczas zwracamy za pomocą instrukcji return wartość TRUE. Kod PHP:
Jeżeli w zmiennej $ResultQuery nie ma żadnych wartości, zwracamy za pomocą instrukcji return wartość FALSE. Kod PHP:
Teraz zadeklarujemy funkcję, która zwróci nam błąd, jeśli wystąpił w bazie danych podczas wykonywania naszego zapytania. Kod PHP:
Deklarujemy dwie zmienne i przypisujemy do nich wartości z funkcji MySQL Funkcja mysql_error() zwraca opis błędu, natomiast funkcja mysql_errno() zwraca numer błędu. Kod PHP:
Następnie łączymy zmienne z ich opisem i wpisujemy je do zmiennej $lnformationOnError. Kod PHP:
Opis błędu zostanie nam zwrócony za pomocą instrukcji return. Kod PHP:
Kolejna funkcja, którą utworzymy, będzie służyła do pobierania wyniku zapytania z bazy danych. Kod PHP:
Zmienną $ResultQuery uzyskaną w funkcji MakeQuery() deklarujemy jako zmienną globalną, aby była widoczna wewnątrz funkcji. Kod PHP:
Następnie za pomocą pętli while przepisujemy wszystkie wyniki do tablicy $ResultFromQuery[]. Pętla będzie wykonywana tak długo, aż nie zostaną wypisane wszystkie wyniki z bazy MySQL. Za wyniki odpowiada funkcja mysql_fetch_array($ResultQuery,MYSQL_ASSOC), w której pierwszym argumentem jest zmienna z wynikiem zapytania. Drugi argument jest opcjonalny. Możemy tu zdecydować, jaką tabelę chcemy uzyskać ponumerowaną czy asocjacyjną. Jeśli nie podamy argumentu, zostaną zwrócone dwie tabele. My użyjemy parametru MYSQL_ASSOC, aby została zwrócona tablica asocjacyjna. Kod PHP:
Po zakończeniu pętli należy zwrócić wynik do zmiennej, do której przypisaliśmy wywołanie funkcji. Kod PHP:
Przyda się nam jeszcze funkcja, która pobierze informację o ilości rekordów uzyskanych w wyniku zapytania. Kod PHP:
Na początek deklarujemy zmienną z wynikiem zapytania jako globalną. Kod PHP:
Aby pobrać do zmiennej $HowManyRecords liczbę wyników zapytania, odwołujemy się funkcji mysql_num_rows z podaniem w jej argumencie zmiennej z wynikami zapytania. Kod PHP:
W kolejnym kroku zwracamy wynik za pomocą instrukcji return. Kod PHP:
Kończymy skrypt znakiem: Kod PHP:
Zapisujemy i zamykamy plik. |