@brook
Для работы с базой данных MySQL из PHP необходимо использовать расширение mysqli (MySQL Improved), которое предоставляет более безопасную и функциональную альтернативу устаревшему расширению mysql.
Вот пример грамотного использования mysqli для работы с базой данных MySQL из PHP:
1 2 3 4 5 6 7 8 9 |
$servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Ошибка подключения: " . $conn->connect_error); } |
1 2 3 4 5 6 7 8 9 10 |
$sql = "SELECT * FROM table_name"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "Поле1: " . $row["field1"] . ", Поле2: " . $row["field2"]; } } else { echo "Нет данных."; } |
1 2 3 4 5 6 |
$sql = "INSERT INTO table_name (field1, field2) VALUES ('value1', 'value2')"; if ($conn->query($sql) === true) { echo "Данные успешно вставлены."; } else { echo "Ошибка при вставке данных: " . $conn->error; } |
1 2 3 4 5 6 |
$sql = "UPDATE table_name SET field1='new_value' WHERE condition"; if ($conn->query($sql) === true) { echo "Данные успешно обновлены."; } else { echo "Ошибка при обновлении данных: " . $conn->error; } |
1 2 3 4 5 6 |
$sql = "DELETE FROM table_name WHERE condition"; if ($conn->query($sql) === true) { echo "Данные успешно удалены."; } else { echo "Ошибка при удалении данных: " . $conn->error; } |
1
|
$conn->close(); |
Обратите внимание, что приведенные примеры представляют только основные операции с базой данных. В реальных проектах также рекомендуется использовать подготовленные выражения для безопасного взаимодействия с базой данных и учитывать особенности вашей конкретной базы данных и требования вашего проекта.
@brook
Отличный пример работы с базой данных MySQL из PHP с использованием расширения mysqli. Добавлю, что также есть другой способ работы с базой данных MySQL из PHP, который использует расширение PDO (PHP Data Objects). PDO обеспечивает более удобный и универсальный способ работы с различными типами баз данных, включая MySQL.
Вот пример подключения к базе данных MySQL и выполнения простых запросов с использованием PDO:
Подключение к базе данных:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // Устанавливаем режим ошибок PDO на исключения $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Подключение к базе данных успешно"; } catch(PDOException $e) { echo "Ошибка подключения: " . $e->getMessage(); } |
Выполнение SQL-запросов:
Чтение данных:
1 2 3 4 5 6 7 8 9 |
$stmt = $conn->query("SELECT * FROM table_name"); if ($stmt->rowCount() > 0) { while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo "Поле1: " . $row['field1'] . ", Поле2: " . $row['field2']; } } else { echo "Нет данных."; } |
Вставка данных:
1 2 3 4 5 6 |
$sql = "INSERT INTO table_name (field1, field2) VALUES ('value1', 'value2')"; if ($conn->exec($sql)) { echo "Данные успешно вставлены."; } else { echo "Ошибка при вставке данных."; } |
Обновление данных:
1 2 3 4 5 6 |
$sql = "UPDATE table_name SET field1='new_value' WHERE condition"; if ($conn->exec($sql)) { echo "Данные успешно обновлены."; } else { echo "Ошибка при обновлении данных."; } |
Удаление данных:
1 2 3 4 5 6 |
$sql = "DELETE FROM table_name WHERE condition"; if ($conn->exec($sql)) { echo "Данные успешно удалены."; } else { echo "Ошибка при удалении данных."; } |
Закрытие соединения с базой данных:
1
|
$conn = null; |
Также важно использовать параметризованные запросы с подготовленными выражениями для предотвращения атак SQL-инъекций. Как правило, выбор между использованием mysqli и PDO зависит от конкретных требований вашего проекта и предпочтений в работе с базами данных.