@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 зависит от конкретных требований вашего проекта и предпочтений в работе с базами данных.