
PHP: OPERACJE NA BAZIE DANYCH
Czas pogrzebać w naszej bazie z poziomu skryptu php. Przykłady na wypisanie pojedynczego oraz wielu wierszy wynikowych oraz pojedynczego atrybutu. Dodanie, usuwanie, modyfikacja danych w tabeli.
Wypisanie na ekran imion i nazwisk 10 uczniów. Podejście strukturalne z wykorzystaniem mysqli_query($połączenie, $zapytanie) – wykonanie zapytania, mysqli_num_rows($wynik) – liczba wynikowych wierszy, mysqli_fetch_assoc($wynik) – zapisanie wiersza wyniku w tablicy asocjacyjnej, $wiersz[“imie”] – pobranie elementu tablicy zapisanej w zmiennej wiersz, pod adresem imie.
$baza = mysqli_connect($dbhost,$dbuser,$dbpass); if (mysqli_connect_errno()) { exit(); } mysqli_select_db($baza, $dbname); mysqli_query($baza, "SET CHARACTER SET UTF8"); $sql = "SELECT imie, nazwisko FROM uczen LIMIT 10"; $wynik = mysqli_query($baza, $sql); if (mysqli_num_rows($wynik) > 0) { while($wiersz = mysqli_fetch_assoc($wynik)) { echo "Imię: " . $wiersz["imie"]. ", Nazwisko: " . $wiersz["nazwisko"]. "<br>"; } } else { echo "Brak wyników"; } mysqli_close($baza);
To samo w podejściu obiektowym.
$baza = new mysqli($dbhost, $dbuser, $dbpass, $dbname); if ($baza->connect_error) { die("Błąd połączenia: " . $baza->connect_error); } $baza->set_charset("utf8"); $sql = "SELECT imie, nazwisko FROM uczen LIMIT 10"; $wynik = $baza->query($sql); if ($wynik->num_rows > 0) { while($wiersz = $wynik->fetch_assoc()) { echo "Imię: " . $wiersz["imie"]. ", Nazwisko: " . $wiersz["nazwisko"]. " "; } } else { echo "Brak wyników"; } $baza->close();
Pobranie pojedynczej wartości z tabeli (strukturalnie)
$sql = "SELECT imie FROM uczen WHERE nazwisko LIKE 'Dycha' LIMIT 1"; $dane = mysqli_fetch_assoc(mysqli_query($baza, $sql)); echo "Dycha ma na imię ".$dane['imie'].".";
Pobranie pojedynczej wartości z tabeli (obiektowo)
$sql = "SELECT imie FROM uczen WHERE nazwisko LIKE 'Dycha' LIMIT 1"; $wynik = $baza->query($sql); $dane = $wynik->fetch_assoc(); echo "Dycha ma na imię ".$dane['imie'].".";
Pobranie pojedynczego wiersza z tabeli (strukturalnie)
$sql = "SELECT imie, nazwisko FROM uczen LIMIT 1"; $wynik = mysqli_query($baza, $sql); if (mysqli_num_rows($wynik) > 0) { $wiersz = mysqli_fetch_assoc($wynik); echo "Imię: " . $wiersz["imie"]. ", Nazwisko: " . $wiersz["nazwisko"]. " "; } else { echo "Brak wyników"; }
Pobranie pojedynczego wiersza z tabeli (obiektowo)
$sql = "SELECT imie, nazwisko FROM uczen LIMIT 1"; $wynik = $baza->query($sql); if ($wynik->num_rows > 0) { $wiersz = $wynik->fetch_assoc(); echo "Imię: " . $wiersz["imie"]. ", Nazwisko: " . $wiersz["nazwisko"]. " "; } else { echo "Brak wyników"; }
Wprowadzenie rekordu do tabeli (strukturalnie)
$sql = "INSERT INTO uczen VALUES ('null', 'Kamil', 'Stach', '1')"; if (mysqli_query($baza, $sql)) { echo "Nowy rekord utworzony prawidłowo."; } else { echo "Błąd: " . $sql . " " . mysqli_error($baza); }
Wprowadzenie rekordu do tabeli (obiektowo)
$sql = "INSERT INTO uczen VALUES ('null', 'Kamil', 'Stach', '1')"; if ($baza->query($sql) === TRUE) { echo "Nowy rekord utworzony prawidłowo."; } else { echo "Błąd: " . $sql . " " . $baza->error; }
Modyfikacja informacji w bazie (strukturalnie)
$sql = "UPDATE uczen SET imie = 'Barbara' WHERE id = 10"; if (mysqli_query($baza, $sql)) { echo "Rekord zaktualizowany prawidłowo."; } else { echo "Błąd: " . $sql . " " . mysqli_error($baza); }
Modyfikacja informacji w bazie (obiektowo)
$sql = "UPDATE uczen SET imie = 'Barbara' WHERE id = 10"; if ($baza->query($sql) === TRUE) { echo "Rekord zaktualizowany prawidłowo."; } else { echo "Błąd: " . $sql . " " . $baza->error; }
Na podobnej zasadzie zadziała usuwanie rekordu z bazy.