MySQLi PHP: основы работы с базами данных
MySQLi (MySQL Improved) - это расширение PHP для работы с базами данных MySQL. Оно предоставляет улучшенный набор функций для управления соединением с базой данных, выполнения запросов и извлечения данных.
С помощью MySQLi можно подключиться к базе данных с помощью объекта mysqli со следующими параметрами:
php
$mysqli = new mysqli("localhost", "username", "password", "database_name");
После установления соединения с базой данных можно выполнить запрос к ней с помощью метода query():
php
$result = $mysqli->query("SELECT * FROM users");
Этот запрос вернет объект-результат, который можно преобразовать в массив или объект. Например, мы можем вывести все имена пользователей:
php
while ($row = $result->fetch_assoc()) {
echo $row["name"] . "
";
}
MySQLi также обеспечивает безопасность запросов и защищает от взлома базы данных. Например, мы можем использовать подготовленные запросы для защиты от SQL-инъекций:
php
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
Этот запрос будет защищен от ввода неправильных данных в переменной $id.
Кроме того, MySQLi предоставляет множество других функций для работы с базами данных, таких как транзакции, выборка данных в пакетах, управление соединением и многое другое.
Примеры кода:
1. Подключение к базе данных MySQL
php
$mysqli = new mysqli("localhost", "username", "password", "database_name");
if ($mysqli->connect_errno) {
echo "Не удалось подключиться к MySQL: " . $mysqli->connect_error;
exit();
}
2. Выполнение запроса SQL
php
$query = "SELECT * FROM users WHERE id = ?";
$stmt = $mysqli->prepare($query);
$id = 1;
$stmt->bind_param('i', $id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
print_r($row);
}
3. Защита от SQL-инъекций с помощью подготовленных запросов
php
$name = $_POST['name'];
$query = 'SELECT * FROM users WHERE name = ?';
$stmt = $mysqli->prepare($query);
$stmt->bind_param('s', $name);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
print_r($row);
}
В итоге, использование расширения MySQLi в PHP позволяет более безопасно и эффективно работать с базами данных MySQL.