W celu połączenia się z bazą danych mySQL przy użyciu języka PHP wpierw musimy ustanowić połączenie. Aby tego dokonać należy utworzyć egzemplarz klasy mysqli poniższym poleceniem:

$con = new mysqli("serwer","user","hasło","baza","port","socket");

Jeżeli korzystasz ze standardowych ustawień serwera mysql parametry takie jak “port” czy “socket” możesz pominąć.

Zatem załóżmy, że nasz serwer znajduje się pod adresem: 127.0.0.1, nasz użytkownik to: root, jego hasło to RooThaslo, a baza z którą chcemy się połączyć to nauka. Polecenie zatem wyglądać będzie następująco:

$con = new mysqli("127.0.0.1","root","RooThaslo","nauka");

W poniższych przykładach będziemy wykorzystywali tabelę pracownicy, która znajduje się w bazie danych nauka.

tabela: pracownicy
Przejdźmy teraz do wykonania zapytania, pobrania danych i sprawdzenia ewentualnych błędów.

Przykład 1 (przy użyciu funkcji: fetch_array)

W naszym zapytaniu chcielibyśmy pobrać wyniki takie jak: imię, nazwisko i stawkę godzinową. Dane będą zwracane w kolejnych wierszach, a pola będą rozdzielane średnikami. Nasz SQL wyglądać będzie następująco:

SELECT imie, nazwisko, stawka FROM pracownicy;

Zatem będzie wyglądał nasz kod PHP:

<?php

$con= newmysqli("127.0.0.1","root","RooThaslo","nauka");

$q="SELECT imie, nazwisko, stawka FROM pracownicy";

if($wynik=$con->query($q))

while($row=$wynik->fetch_array())

echo$row["imie"] . ";". $row["nazwisko"] . ";". $row["stawka"] . "<br/>";

else

echo$con->errno . " ". $con->error;

?>

W wyniku powyższego zapytania otrzymaliśmy dane jak poniżej:

Stefan;Nowak;20.50
Jan;Kowalski;12.36

Za pomocą: $wynik=$con->query($q) wykonaliśmy zapytanie SQL przechowywane pod zmienną $q, a następnie jego wynik przypisaliśmy do zmiennej $wynik. W kolejnym kroku przy pomocy pętli whlie i funkcji fetch_array zwróciliśmy poszczególne wiersze z wynikami w formie tablicy i przypisaliśmy do zmiennej $row. Pozostało już tylko wyświetlić zwrócone wiersze podając zmienną $row oraz jako parametr nazwę pola z bazy danych wraz z separatorem ;.

Przykład 2 (przy użyciu funkcji: fetch_object)

<?php

$con= newmysqli("127.0.0.1","root","RooThaslo","nauka");

$q="SELECT imie, nazwisko, stawka FROM pracownicy";

if($wynik=$con->query($q))

while($row=$wynik->fetch_object())

echo$row->imie . ";". $row->nazwisko . ";". $row->stawka . "<br/>";

else

echo$con->errno . " ". $con->error;

?>

W powyższym przykładzie skorzystaliśmy z funkcji fetch_object, która zwraca wyniki w formie obiektu. W tym przypadku, aby odczytać dane musimy w posłużyć się nazwą $row znakiem -> oraz nazwą pola bazy danych, co daje nam w rezultacie np: $row->imie.

W obu powyższych przykładach przy funkcji if dodaliśmy jeszcze:

else

echo$con->errno . " ". $con->error;

Funkcja ta zwróci nam komunikat w postaci numeru i opisu błędu jeżeli taki wystąpi. Zwrócony błąd może dotyczyć np: błędnej konfiguracji połączenia z bazą danych, bądź błędów w zapytaniu SQL takich jak błąd składni, nieprawidłowe nazwy kolumn bądź tabel.

Szanujemy pracę innych autorów! Ten artykuł powstał na podstawie poradnika: https://informatyk.pro/php-i-mysql-jak-polaczyc-sie-z-baza-danych-i-pobrac-z-niej-dane/


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *