PHP MySQLi
В этой статье мы сосредоточимся на расширении PHP MySQLi, которое используется для взаимодействия с базами данных MySQL в PHP. Мы предоставим вам обзор расширения, принцип его работы и примеры использования.
Введение в расширение MySQLi
Расширение MySQLi — это расширение PHP, предоставляющее интерфейс для взаимодействия с базами данных MySQL. Это улучшенная версия более старого расширения MySQL, обеспечивающая лучшую безопасность, производительность и функциональность.
Расширение MySQLi предоставляет два различных интерфейса для взаимодействия с базами данных MySQL: объектно-ориентированный и процедурный. Хотя процедурный интерфейс (mysqli_connect(), mysqli_query() и т. д.) также доступен, в современном PHP обычно предпочтительнее объектно-ориентированный подход. В этой статье мы сосредоточимся именно на объектно-ориентированном интерфейсе.
Как использовать расширение MySQLi
Использовать расширение MySQLi очень просто. Вам нужно лишь создать новый объект MySQLi, который представляет собой подключение к базе данных MySQL. Вот пример:
Как использовать расширение MySQLi?
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
$result = $mysqli->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
echo "Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>";
}
$mysqli->close();
?>В этом примере мы создаем новый объект MySQLi с помощью конструктора mysqli(), передавая в качестве аргументов имя хоста, имя пользователя, пароль и имя базы данных. Затем мы проверяем успешность подключения, обращаясь к свойству connect_error объекта MySQLi.
Далее мы выполняем запрос SELECT для получения всех строк из таблицы users. Мы перебираем набор результатов с помощью цикла while и выводим имя и адрес электронной почты каждого пользователя.
Наконец, мы закрываем подключение MySQLi с помощью метода close() объекта MySQLi.
Расширенное использование
Расширение MySQLi предоставляет множество других методов для взаимодействия с базами данных MySQL. Например, вы можете использовать метод prepare() для подготовки запроса с заполнителями, а затем выполнить его с разными значениями параметров. Вот пример:
Расширенное использование PHP MySQLi
<?php
$age = 18;
$stmt = $mysqli->prepare("SELECT name, email FROM users WHERE age > ?");
$stmt->bind_param("i", $age);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
echo "Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>";
}
$stmt->close();
?>Примечание: Метод get_result() требует драйвера mysqlnd. Если в вашей среде используется другой драйвер, вам потребуется привязать переменные результатов с помощью bind_result().
В этом примере мы используем метод prepare() для подготовки оператора SELECT с заполнителем для параметра age. Подготовленные операторы отделяют SQL-логику от данных, что эффективно предотвращает атаки SQL-инъекции, гарантируя, что пользовательский ввод никогда не интерпретируется как исполняемый код. Затем мы привязываем значение 18 к параметру с помощью метода bind_param(). Мы выполняем оператор методом execute() и получаем набор результатов методом get_result(). После этого мы перебираем набор результатов и выводим имя и адрес электронной почты каждого пользователя.
Заключение
В заключение, расширение MySQLi — это мощный инструмент для взаимодействия с базами данных MySQL в PHP. Понимая, как использовать расширение и его расширенные сценарии применения, вы сможете воспользоваться этой функцией для создания мощных и безопасных приложений, управляемых базами данных, в своих PHP-скриптах.
Практика
Какие важные функции есть у PHP MySQLi?