MySQLi – ulepszone (ang. improved) rozszerzenie silnika MySQL. Moduł ten został wprowadzony w PHP5 i pozwala na używanie bazy za pomocą obiektowej składni. Poza tym obsługuje mechanizm transakcji, poprawia bezpieczeństwo i wydajność dzięki „prepare statements” (tj. instrukcji przygotowanych). Od wersji 4.1.3 zaleca się stosowanie rozszerzenia MySQLi.

PODEJŚCIE PROCEDURALNE

Jest analogiczne do standardowego MySQL’a. Do większości znanych instrukcji dodajemy tylko „i” (np.: mysqli_connect, mysqli_query, mysqli_num_rows).

Przykład poniżej demonstruje połączenie z bazą danych za pomocą instrukcji mysqli_connect:

Jeśli połączenie z bazą zostało nawiązane możemy zacząć operować na jej tabelach. Stwórz tabelę o nazwie kontakty, w której będą zbierane informacje o wirtualnych osobach, znajomych itp. Możesz to zrobić np. za pomocą aplikacji PHPMyadmin.

Korzystając z instrukcji mysqli_query dodajemy testowy rekord do bazy:

Pierwszy parametr instrukcji – $link – to identyfikator połączenia; drugi – to instrukcja SQL dodająca (INSERT) rekord do tabeli.

Zawartość tabeli wylistujemy za pomocą kilku linijek kodu 😉 :

 

PODEJŚCIE OBIEKTOWE

Te same przykłady zrealizujemy za pomocą techniki obiektowej.

Analogicznie jak w podejściu proceduralnym dodajemy rekord do tabeli:

Wyświetlamy wiersze z tabeli:

 

INSTRUKCJE PRZYGOTOWANE

Instrukcje przygotowane – to szablon zapytania wysyłany do serwera MySQL. Przed wykonaniem zapytania do bazy możemy dynamicznie wstawiać zmienne. Dane są wysyłane oddzielnie. Jest to idealne rozwiązanie przy masowym wprowadzaniu rekordów do bazy.

Przykład:

Oczywiście instrukcje przygotowane mają również swoje odpowiedniki w rozwiązaniu proceduralnym: mysqli_stmt_prepare(), mysqli_stmt_bind_param(), mysqli_stmt_execute().

Więcej o tajnikach MySQLi przeczytasz w manualu: www.php.net/manual/pl/book.mysqli.php