Если вы хотите создавать динамические веб-страницы, взаимодействующие с базой данных MySQL, вам необходимо знать, как подключаться к базе данных и запрашивать ее с помощью PHP. В этом сообщении блога я покажу вам, как это сделать, используя два разных метода: MySQLi и PDO.
Что такое MySQLi и PDO?
MySQLi и PDO — это два расширения PHP, которые позволяют работать с базами данных MySQL. MySQLi расшифровывается как MySQL Improved, а PDO расшифровывается как PHP Data Objects. Оба расширения поддерживают подготовленные операторы, которые защищают ваше веб-приложение от атак SQL-инъекций. Однако у них есть некоторые различия, о которых вы должны знать, прежде чем выбирать один из них.
MySQLi
MySQLi — это расширение, которое работает только с базами данных MySQL. Он предлагает как объектно-ориентированный, так и процедурный интерфейс, поэтому вы можете выбрать тот, который соответствует вашему стилю кодирования. MySQLi прост в использовании и имеет множество функций, облегчающих работу с MySQL.
ЗОП
PDO — это расширение, которое работает с 12 различными системами баз данных, включая MySQL. Он предлагает только объектно-ориентированный интерфейс, который некоторые разработчики предпочитают процедурному. PDO является более гибким и переносимым, чем MySQLi, так как позволяет вам переключаться между различными базами данных без существенного изменения вашего кода.
Как подключиться к базе данных MySQL с помощью PHP
Прежде чем вы сможете запросить базу данных MySQL, вам необходимо установить соединение с сервером. Для этого вам необходимо предоставить некоторую информацию, такую как имя хоста, имя пользователя, пароль и имя базы данных. Вам также необходимо создать переменную, которая будет содержать объект подключения.
Использование MySQLi
Чтобы подключиться к базе данных MySQL с помощью MySQLi, вы можете использовать как объектно-ориентированный, так и процедурный стиль. Вот несколько примеров того и другого:
Объектно-ориентированный стиль
<?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"; ?>
Процедурный стиль
<?php // Create connection $conn = mysqli_connect("localhost", "username", "password", "database"); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; ?>
Использование PDO
Чтобы подключиться к базе данных MySQL с помощью PDO, вам необходимо использовать следующий синтаксис:
<?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"; ?>
Обратите внимание, что для подключения к PDO требуется действительное имя базы данных. Если вы его не укажете, будет выброшено исключение.
Как сделать запрос к базе данных MySQL с помощью PHP
Когда у вас есть подключение к базе данных, вы можете выполнять SQL-запросы с помощью PHP. Для этого вам нужно использовать метод query()
или prepare()
объекта подключения.
Использование MySQLi
Чтобы запросить базу данных MySQL с помощью MySQLi, вы можете использовать либо объектно-ориентированный, либо процедурный стиль. Вот несколько примеров того и другого:
Объектно-ориентированный стиль
<?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(); ?>
Процедурный стиль
<?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); ?>
Использование PDO
Чтобы запросить базу данных MySQL с помощью PDO, вам нужно использовать метод query()
или prepare()
объекта соединения. Вот пример использования метода 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; ?>
В этом сообщении блога я показал вам, как подключиться к базе данных MySQL и выполнить запрос с помощью PHP. Вы узнали, как использовать два разных метода: MySQLi и PDO. Оба метода имеют свои плюсы и минусы, поэтому вам следует выбрать тот, который лучше всего соответствует вашим потребностям и предпочтениям.
Надеюсь, вы нашли этот пост полезным и информативным. Если у вас есть какие-либо вопросы или отзывы, пожалуйста, оставьте комментарий ниже.
Спасибо за чтение!