PHP Оновлення даних MySQL
Оновлення даних в MySQL таблиці, використовуючи MySQLi та PDO
Інструкція UPDATE використовується для оновлення існуючих записів в таблиці:
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Зверніть увагу на пропозицію WHERE у синтаксисі UPDATE: пропозиція WHERE визначає, який запис чи записи потрібно оновити. Якщо ви опустите пропозицію WHERE, усі записи будуть оновлені!
Щоб дізнатись більше про SQL, відвідайте SQL Підручник на нашому сайті W3Schools українською.
Давайте розглянемо таблицю "MyGuests":
id | firstname | lastname | reg_date | |
---|---|---|---|---|
1 | John | Doe | john@example.com | 2024-10-22 14:26:15 |
2 | Mary | Moe | mary@example.com | 2024-10-23 10:22:30 |
В наступному прикладі оновлюється запис із id=2 в таблиці "MyGuests":
Приклад (MySQLi Об’єктно-орієнтований)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Створити підключення
$conn = new mysqli($servername, $username, $password, $dbname);
// Перевірити підключення
if ($conn->connect_error) {
die("Підключення не вдалося: " . $conn->connect_error);
}
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
if ($conn->query($sql) === TRUE) {
echo "Запис оновлено успішно";
} else {
echo "Помилка оновлення запису: " . $conn->error;
}
$conn->close();
?>
Приклад (MySQLi Процедурний)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Створити підключення
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Перевірити підключення
if (!$conn) {
die("Підключення не вдалося: " . mysqli_connect_error());
}
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
if (mysqli_query($conn, $sql)) {
echo "Запис оновлено успішно";
} else {
echo "Помилка оновлення запису: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Приклад (PDO)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// встановити режим помилки PDO у виняток
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
// Підготовлена інструкція
$stmt = $conn->prepare($sql);
// виконати запит
$stmt->execute();
// повторити повідомлення, щоб сказати, що ОНОВЛЕННЯ виконано успішно
echo $stmt->rowCount() . " records UPDATED successfully";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
Після оновлення запису таблиця матиме такий вигляд:
id | firstname | lastname | reg_date | |
---|---|---|---|---|
1 | John | Doe | john@example.com | 2024-10-22 14:26:15 |
2 | Mary | Doe | mary@example.com | 2024-10-23 10:22:30 |