Jeśli chcesz tworzyć dynamiczne strony internetowe, które wchodzą w interakcję z bazą danych MySQL, musisz wiedzieć, jak łączyć się z bazą danych i wysyłać do niej zapytania za pomocą PHP. W tym poście na blogu pokażę Ci, jak to zrobić, używając dwóch różnych metod: MySQLi i PDO.
Co to jest MySQLi i PDO?
MySQLi i PDO to dwa rozszerzenia PHP, które umożliwiają pracę z bazami danych MySQL. MySQLi oznacza MySQL Improved, a PDO oznacza PHP Data Objects. Obydwa rozszerzenia obsługują przygotowane instrukcje, które chronią Twoją aplikację internetową przed atakami polegającymi na wstrzykiwaniu kodu SQL. Mają jednak pewne różnice, o których powinieneś wiedzieć przed wybraniem jednego z nich.
MySQLi
MySQLi to rozszerzenie, które działa tylko z bazami danych MySQL. Oferuje zarówno interfejs obiektowy, jak i proceduralny, dzięki czemu możesz wybrać ten, który pasuje do Twojego stylu kodowania. MySQLi jest łatwy w użyciu i posiada wiele funkcji ułatwiających pracę z MySQL.
ChNP
PDO to rozszerzenie współpracujące z 12 różnymi systemami baz danych, w tym z MySQL. Oferuje jedynie interfejs obiektowy, który niektórzy programiści wolą od interfejsu proceduralnego. PDO jest bardziej elastyczne i przenośne niż MySQLi, ponieważ pozwala przełączać się między różnymi bazami danych bez zmiany dużej części kodu.
Jak połączyć się z bazą danych MySQL za pomocą PHP
Zanim będziesz mógł wysłać zapytanie do bazy danych MySQL, musisz nawiązać połączenie z serwerem. Aby to zrobić, musisz podać pewne informacje, takie jak nazwa hosta, nazwa użytkownika, hasło i nazwa bazy danych. Musisz także utworzyć zmienną, która będzie przechowywać obiekt połączenia.
Korzystanie z MySQLi
Aby połączyć się z bazą danych MySQL za pomocą MySQLi, możesz użyć stylu obiektowego lub proceduralnego. Oto kilka przykładów obu:
Styl zorientowany obiektowo
<?php // Create connection $conn = new mysqli("localhost", "username", "password", "database"); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; ?>
Styl proceduralny
<?php // Create connection $conn = mysqli_connect("localhost", "username", "password", "database"); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; ?>
Korzystanie z PDO
Aby połączyć się z bazą danych MySQL za pomocą PDO, należy zastosować następującą składnię:
<?php // Create connection $conn = new PDO("mysql:host=hostname;dbname=database", "username", "password"); // Check connection $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; ?>
Należy pamiętać, że PDO wymaga prawidłowej nazwy bazy danych, aby się z nią połączyć. Jeśli go nie określisz, zgłosi wyjątek.
Jak wysłać zapytanie do bazy danych MySQL za pomocą PHP
Po nawiązaniu połączenia z bazą danych możesz wykonywać zapytania SQL przy użyciu języka PHP. Aby to zrobić, musisz użyć metody query()
lub prepare()
obiektu połączenia.
Korzystanie z MySQLi
Aby wysłać zapytanie do bazy danych MySQL za pomocą MySQLi, możesz użyć stylu obiektowego lub proceduralnego. Oto kilka przykładów obu:
Styl zorientowany obiektowo
<?php // Create connection $conn = new mysqli("localhost", "username", "password", "database"); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Select all records from the users table $sql = "SELECT * FROM users"; $result = $conn->query($sql); // Check if the query returned any rows if ($result->num_rows > 0) { // Output data of each row while($row = $result->fetch_assoc()) { echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>"; } } else { echo "No results found"; } // Close connection $conn->close(); ?>
Styl proceduralny
<?php // Create connection $conn = mysqli_connect("localhost", "username", "password", "database"); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // Select all records from the users table $sql = "SELECT * FROM users"; $result = mysqli_query($conn, $sql); // Check if the query returned any rows if (mysqli_num_rows($result) > 0) { // Output data of each row while($row = mysqli_fetch_assoc($result)) { echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>"; } } else { echo "No results found"; } // Close connection mysqli_close($conn); ?>
Korzystanie z PDO
Aby wysłać zapytanie do bazy danych MySQL przy użyciu PDO, należy użyć metody query()
lub prepare()
obiektu połączenia. Oto przykład użycia metody query()
:
<?php // Create connection $conn = new PDO("mysql:host=localhost;dbname=database", "username", "password"); // Check connection $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Select all records from the users table $sql = "SELECT * FROM users"; $result = $conn->query($sql); // Check if the query returned any rows if ($result->rowCount() > 0) { // Output data of each row while($row = $result->fetch(PDO::FETCH_ASSOC)) { echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>"; } } else { echo "No results found"; } // Close connection $conn = null; ?>
W tym poście na blogu pokazałem, jak połączyć się i wysłać zapytanie do bazy danych MySQL za pomocą PHP. Nauczyłeś się korzystać z dwóch różnych metod: MySQLi i PDO. Obie metody mają swoje zalety i wady, dlatego warto wybrać tę, która najlepiej odpowiada Twoim potrzebom i preferencjom.
Mam nadzieję, że ten post był dla Ciebie przydatny i pouczający. Jeśli masz jakieś pytania lub uwagi, zostaw komentarz poniżej.
Dziękuję za przeczytanie!