Dane dostępowe do bazy danych MySQL
Mirosław Zelent
Pierwszym krokiem realizowania skryptu współpracującego z bazą danych MySQL jest zawsze podanie informacji dostępowych, potrzebnych do połączenia się z bazą. Zazwyczaj są to następujące dane:
- host (komputer przechowujący bazę),
- login użytkownika MySQL (który posiada uprawnienia do wykonywania wybranych zapytań SQL),
- hasło dostępowe tegoż użytkownika,
- nazwa bazy danych, z której skorzystamy.
Te informacje umieszczamy najczęściej w jednym, zewnętrznym skrypcie (tutaj dbconnect.php
), co pozwala nam w razie konieczności ich zmiany (z powodu np. przeprowadzki serwera) dokonać poprawki tylko w tym jednym miejscu, zamiast w wielu skryptach PHP łączących się z bazą danych. Wiele frameworków przestrzega tej zasady, umieszczając kluczowe informacje konfiguracyjne w specjalnym pliku, na przykład: wp-config.php
w WordPress.
Przykładowa zawartość naszego dbconnect.php
(w razie wątpliwości patrz tutorial video):
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "szkola";
?>
Podpięcie danych dostępowych
Oczywiście plik należy teraz dołączyć do kodu - w naszym docelowym skrypcie łączącym się z bazą danych. Możemy to zrealizować na cztery sposoby:
1. Zainkluduj dane, a w razie gdyby pliku nie udało się poprawnie otworzyć wygeneruj tylko ostrzeżenie (warning) i kontynuuj działanie skryptu:
include "dbconnect.php";
2. Wymagaj danych, czyli w razie gdyby pliku nie udało się poprawnie otworzyć przerwij działanie skryptu (fatal error):
require "dbconnect.php";
3. Inkluduj dane, ale jednorazowo (ang. once). A zatem gdyby kiedyś zdarzyło nam się w jednym skrypcie podpiąć drugi raz ten plik (a zdarzyć się teoretycznie może, bo przegapić taki fakt w pojęczynie połączeń pomiędzy plikami łatwo), to i tak skrypt skorzysta tylko z pierwszego podpięcia, przez co unikniemy ponownej redefinicji wartości:
include_once "dbconnect.php";
4. Oczywiście istnieje także wymaganie pliku w wersji bez powtarzania:
require_once "dbconnect.php";
Dołączenie przygotowanych namiarów, pozwala nam użyć zmiennych zdefiniowanych w dbconnect.php
do połączenia się z bazą danych:
require_once "dbconnect.php";
$conn = mysqli_connect($host, $user, $pass, $db);
Wydzielenie danych dostępowych do zewnętrznego, osobnego pliku nie jest oczywiście koniecznością. W najprostszej wersji, zamiast w ogóle tworzyć zmienne, wartości potrzebne do połączenia wpisujemy wprost w funkcję mysqli_connect()
:
$conn = mysqli_connect("localhost", "root", "", "szkola");
Co prawda nie przestrzegamy tutaj zasady wydzielenia danych dostępowych jeden raz dla całej witryny, ale nie jest to w żaden sposób zapis błędny (jest nieoptymalny, ale jak najbardziej akceptowalny). Jeśli więc interesuje Cię wersja najprostsza połączenia (chcesz po prostu zdać egzamin), to możesz użyć od razu zapisu bez tworzenia zmiennych ani dodatkowego pliku.
Polecamy: Sekurak Academy 2024
Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp do materiałów z edycji Sekurak Academy z roku 2023! Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat -30% na bilety w wersji "Standard" - warto korzystać! Więcej szczegółów znajdziecie tutaj.
Książka: Wprowadzenie do bezpieczeństwa IT
Niedawno wystartował dodruk świetnej, rozchwytywanej książki pt. "Wprowadzenie do bezpieczeństwa IT, Tom I" (około 940 stron). Mamy dla Was kod: pasja (wpisz go w koszyku), dzięki któremu otrzymacie 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla naszych Widzów! Jest to pierwszy tom serii o ITsec, który wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!
Pomóż dzieciom
Polska Akcja Humanitarna od wielu lat dożywia dzieci. Prosimy, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękujemy!
Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać w komentarzach! Dziękujemy Wam za poświęcony na to czas!
Disqus