Обновление данных в таблице MySQL с помощью MySQLi и PDO
Автор: admin
Дата: 13.09.2020 02:00
Оператор UPDATE используется для обновления существующих записей в таблице:
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
WHERE указывает, какую запись или записи следует обновить, если запрос без предложение WHERE, все записи будут обновлены.
Следующие примеры обновляют запись с id = 1 в таблице «users»:
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 users SET lastname='Петров' WHERE id=1";
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 users SET lastname='Петров' WHERE id=1";
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 users SET lastname='Петров' WHERE id=2";
// подготовить
$stmt = $conn->prepare($sql);
// выполнить запрос
$stmt->execute();
// успешно
echo $stmt->rowCount() . " записи ОБНОВЛЕНЫ успешно";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>