Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Pobieranie rekordów w stylu obiektowym

środa,

Pobieranie rekordów w stylu obiektowym

Aby w pełni zrozumieć prezentowany przykład, wymagana jest znajomość zagadnień przedstawionych w naszym cyklu „Wprowadzenie do MySQLi”. Wykorzystana w przykładzie tabela jest dostępna do pobrania.

Rozszerzenie mysqli pozwala na programowanie w stylu obiektowym. Dostępne metody działają w podobny sposób jak ich proceduralne odpowiedniki, jednak istnieją pewne różnice, np. typ zwracanych danych. Aby rozpocząć pracę z bazą MySQL z poziomu języka PHP, pierwszym krokiem musi być nawiązanie połączenia, służy do tego konstruktor o nazwie mysqli (wiersz nr 7). Próba połączenia może zakończyć się niepowodzeniem, w przykładzie do obsługi błędów wykorzystano własności mysqli::$ connect_errno oraz mysqli::$connect_error. Pierwsza z nich zawiera wartość kodu błędu, który wystąpił podczas ostatniej próby połączenia lub zero w przypadku powodzenia. Własność mysqli::$connect_error zawiera opis ostatniego błędu połączenia.

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

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

  if ($mysqli->connect_errno) {
    printf("Connect failed: %sn", $mysqli->connect_error);
    exit();
  }

  echo '<table><tr>
      <th>Imię</th>
      <th>Nazwisko</th>
    </tr>';

  $result = $mysqli->query("SELECT fname, lname FROM names ORDER BY lname ASC LIMIT 10");
  while ($row = $result->fetch_object()){
  	printf('<tr><td>%s</td><td>%s</td></tr>', $row->fname, $row->lname);
  }

  echo '</table>';
  $mysqli->close();
?>

W przypadku sukcesu wykonania zapytania typu SELECT, SHOW, EXPLAIN i DESCRIBE metoda query() zwraca obiekt mysqli_result lub wartość false w przypadku niepowodzenia. Aby odczytać zwrócone wiersze można użyć metody fetch_object(). Wyników zapytania (wierszy) może być wiele, dlatego najwygodniej posłużyć się konstrukcją pętli. W przykładowym kodzie wykorzystano pętlę while. W każdej iteracji pobierany jest kolejny wiersz, ma on postać obiektu o własnościach, których nazwy to nazwy kolumn w tabeli (lub tabelach), albo nazwy zastosowanych w zapytaniu aliasów.

Efekt działania skryptu

Imię Nazwisko
OrenAguilar
CallumBarber
VincentBeach
KennedyBoone
HarrisonBoone
HonoratoBrooks
TimothyBurns
DolanBurton
PatrickCalderon
AliCallahan
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