Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Dodawanie rekordów

środa,

Dodawanie rekordów

Aby w pełni prezentowane zrozumieć przykłady, wymagana jest znajomość zagadnień przedstawionych w poprzednich artykułach. Tabela wykorzystana w przykładach jest dostępna do pobrania.

Fromularz HTML

Aby dodawać dane, należy zbudować formularz HTML. Ma on dwa pola typu text do wprowadzenia imienia i nazwiska. Trzeci input to typ submit – przycisk do wysłania formularza. Zastosowana metoda to POST, ponieważ wysłanie formularza wprowadzi trwałe zmiany po stronie serwera.

<form action="" method="post">
  <input type="text" name="fname" placeholder="Imię">
  <input type="text" name="lname" placeholder="Nazwisko">
  <input type="submit" name="t" value="Zapisz">
</form>

Wygląd formularza

Kod PHP

Jeśli istnieje zmienna przesłana z formularzem, wykonywane są operacje, które prowadzą do zapisania danych. Zastosowano tzw. prepared statements, które są odporne na ataki SQL Injection. Za pomocą funkcji mysqli_stmt_init () otrzymano identyfikator instrukcji ($stmt) używany w wywołaniach następnych funkcji. W utworzonym za pomocą mysqli_stmt_prepare() szkielecie zapytania SQL miejsca na zmienne oznaczone są znakiem „?”. Funkcja mysqli_stmt_bind_param() pozwala przypisać w to miejsce wartości, jako drugi argument przyjmuje ciąg znaków (tutaj jest to "ss") określający typy kolejnych argumentów. Oznaczenie "s" oznacza łańcuch znaków, "ss" dwa łańcuchy. Funkcja mysqli_stmt_execute() wykonuje przygotowane zapytanie. Ostatnia instrukcja (header()) przeładowuje stronę.

include 'config.php';

$link = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME);

if(isset($_POST['fname'])) {
  $stmt = mysqli_stmt_init($link);
  mysqli_stmt_prepare($stmt, "INSERT INTO names (fname, lname) VALUES (?, ?)");
  mysqli_stmt_bind_param($stmt, "ss", $_POST['fname'], $_POST['lname']);
  mysqli_stmt_execute($stmt);
  header('Location: ' . $_SERVER['PHP_SELF']);
}

Efekt finalny

Obydwa fragmenty kodu należy zawrzeć w jednym skrypcie. Dla wygody użytkownika powinno się także dodać kod wyświetlający dane pobrane z bazy, wtedy od razu widoczny jest efekt dodawania kolejnych rekordów.

Podstawy pracy z MySQLi

  1. Wprowadzenie do MySQLi.
  2. Deklarowanie parametrów połączenia z bazą danych.
  3. Obsługa błędów w MySQLi.
  4. Pobieranie rekordów z bazy danych.
  5. Dodawanie rekordów.
  6. Usuwanie rekordów z bazy danych.
Artykuł: Konkurs z Języka Angielskiego Zawodowego

Konkurs z Języka Angielskiego Zawodowego

Artykuł: Testujemy kontroler ARGB

Testujemy kontroler ARGB

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Artykuł: Przeglądarka Vivaldi

Przeglądarka Vivaldi

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły