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.

Kody zniżkowe - kup taniej
Mamy fajne rabaty dla widzów naszego kanału YouTube - otóż można zamówić dwa tomy książek "Wprowadzenie do bezpieczeństwa IT" (15% taniej) oraz książkę "Twierdza Linux. Bezpieczeństwo dla dociekliwych" (10% taniej) - użyjcie odpowiedniego kodu, wpisując go w specjalne pole w koszyku:
KOD: pasja
Dostajesz rabat -15%
KOD: pasja
Dostajesz rabat -15%
KOD: pasja-linux
Dostajesz rabat -10%
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ć: kontakt@pasja-informatyki.pl. Dziękujemy za poświęcony czas - to dzięki Wam serwis staje się coraz lepszy!