EE.9: Programowanie, tworzenie i administrowanie stronami internetowymi i bazami danych.

Cześć! 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.

OPERACJE NA BAZIE DANYCH

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"]. "
"; } } 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.