English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как использовать PHP для обновления записей в таблице MySQL.
UPDATEЭтот оператор используется для изменения или обновления существующих записей в таблице базы данных. Этот оператор обычно используется вместе с подзапросом WHERE, чтобы изменения применялись только к записям, соответствующим определенным условиям.
Основная грамматика оператора UPDATE может быть дана следующим образом:
UPDATE table_name SET column1=value, column2=value2,... WHERE column_name=some_value
Давайте используем оператор UPDATE и подзапрос WHERE для выполнения SQL-запроса, а затем передадим его функции mysqli_query() в PHP для выполнения этого запроса, чтобы обновить записи таблицы.
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
Ниже приведен пример PHP-кода, который обновит адрес электронной почты человека с id равным 1 в таблице persons.
<?php /*Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL."} Сервер с-default настройками (пользователь без пароля "root") */ $link = mysqli_connect("localhost", "root", "", "demo"); //Проверка подключения if($link === false){ die("Ошибка: не удалось подключиться. " . mysqli_connect_error()); } //Попытка выполнения обновления запроса $sql = "UPDATE persons SET email='[email protected]' WHERE id=1"; if(mysqli_query($link, $sql)){ echo "Запись успешно обновлена."; } echo "Ошибка: не удалось выполнить $sql. " . mysqli_error($link); } //Закрытие соединения mysqli_close($link); ?>
<?php /*Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL."} Сервер с-default настройками (пользователь без пароля "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); //Проверка подключения if($mysqli === false){ die("Ошибка: не удалось подключиться. " . $mysqli->connect_error); } //Попытка выполнения обновления запроса $sql = "UPDATE persons SET email='[email protected]' WHERE id=1"; if($mysqli->query($sql) === true){ echo "Запись успешно обновлена."; } echo "Ошибка: не удалось выполнить $sql. " . $mysqli->error; } //Закрытие соединения $mysqli->close(); ?>
<?php /*Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL."} Сервер с-default настройками (пользователь без пароля "root") */ try{ $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", ""); //Установка режима ошибок PDO на исключения $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){ die("Ошибка: Не удалось подключиться. ". $e->getMessage()); } //Попытка выполнения обновления запроса try{ $sql = "UPDATE persons SET email='[email protected]' WHERE id=1"; $pdo->exec($sql); echo "Запись успешно обновлена."; } catch(PDOException $e){ die("Ошибка: Не удалось выполнить $sql. ". $e->getMessage()); } //Закрытие соединения unset($pdo); ?>
После обновления таблица persons будет выглядеть следующим образом:
+----+------------+-----------+--------------------------+ | id | first_name | last_name | email | +----+------------+-----------+--------------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+--------------------------+
Внимание:WHERE-подзапрос в предложении UPDATE определяет, какие записи должны быть обновлены. Если пропустить подзапрос WHERE, то будут обновлены все записи.