W3docs

PHP MySQLi

In this article, we will focus on the PHP MySQLi extension, which is used to interact with MySQL databases in PHP. We will provide you with an overview of the

В этой статье мы сосредоточимся на расширении 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?