Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Mysqli: Lista użytkowników MySQL

środa,

Mysqli: Lista użytkowników MySQL

W świecie programowania dostęp do danych i zarządzanie nimi są kluczowymi elementami większości aplikacji webowych i systemów informatycznych. PHP, będący jednym z najpopularniejszych języków skryptowych używanych do tworzenia stron internetowych, oferuje potężne narzędzia do interakcji z bazami danych, takimi jak MySQL. W tym kontekście zdolność do wydobywania informacji o użytkownikach bazy danych jest nie tylko przydatna, ale często niezbędna dla administratorów systemów, deweloperów, i osób zajmujących się bezpieczeństwem, aby zarządzać dostępem, monitorować zmiany i utrzymywać ogólną higienę systemu bazodanowego.

Serwer MySQL przechowuje informacje o użytkownikach w tabeli o nazwie 'user' w bazie danych 'mysql'. Aby uzyskać wykaz wszystkich zarejestrowanych, należy wykonać poniższe zapytanie:

SELECT user FROM mysql.user

Tabela user ma kilkadziesiąt kolumn i można z niej uzyskać znacznie więcej informacji o użytkownikach.

Kod skryptu

<?php
  define('DBHOST', 'localhost');
  define('DBUSER', 'root');
  define('DBPASS', 'hasło');
  define('DBNAME', '');

  $mysqli = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);

  if($mysqli->connect_errno) {
    die($mysqli->connect_error);
  }

  if($result = $mysqli->query("SELECT user FROM mysql.user")) {
    echo '<ul>';
    while($row = $result->fetch_object()) {
      echo "<li>$row->user</li>"; 
    }
    echo '</ul>';
    $result->close();
  }

  $mysqli->close();
?>

Omówienie skryptu

  1. Definiowanie stałych połączenia z bazą danych:

    • DBHOST to host bazy danych, w tym przypadku localhost, co oznacza, że baza danych działa na tym samym serwerze, co skrypt.
    • DBUSER to użytkownik bazy danych, tutaj root, co jest domyślnym superużytkownikiem w systemach MySQL.
    • DBPASS to hasło do bazy danych, w tym miejscu 'hasło'.
    • DBNAME to nazwa bazy danych, która tutaj jest pusta, ponieważ nazwa bazy zostanie określona w zapytaniu.
  2. Nawiązanie połączenia z bazą danych:

    • Użycie nowej instancji klasy mysqli, przekazując zdefiniowane wcześniej stałe jako parametry konstruktora.
  3. Sprawdzanie, czy wystąpił błąd połączenia:

    • Jeśli wystąpi błąd podczas próby połączenia ($mysqli->connect_errno zwraca wartość różną od zera), skrypt kończy działanie i wyświetla komunikat o błędzie ($mysqli->connect_error).
  4. Wykonanie zapytania SQL i przetwarzanie wyników:

    • Skrypt wykonuje zapytanie SQL za pomocą metody query obiektu mysqli, które wybiera nazwy użytkowników z tabeli user w bazie danych mysql. Baza danych mysql jest systemową bazą danych MySQL, zawierającą informacje o użytkownikach, uprawnieniach itp.
    • Jeśli zapytanie się powiedzie ($result jest prawdziwe), skrypt przechodzi do przetwarzania wyników.
    • Wyniki są przeglądane w pętli while, gdzie każdy wiersz wyniku jest konwertowany na obiekt (fetch_object), a następnie nazwa użytkownika ($row->user) jest wyświetlana w formacie listy HTML.
  5. Zamknięcie połączenia z bazą danych:

    • Po zakończeniu przetwarzania wyników, połączenie z bazą danych jest zamykane za pomocą metody close obiektu mysqli.

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły