The UPDATE statement is used to update existing records in a table:
Notice the WHERE clause in the UPDATE syntax: The WHERE clause specifies which record or records that should be updated. If you omit the WHERE clause, all records will be updated!
To learn more about SQL, please visit our SQL tutorial.
Let’s look at the «MyGuests» table:
id
firstname
lastname
email
reg_date
1
John
Doe
john@example.com
2014-10-22 14:26:15
2
Mary
Moe
mary@example.com
2014-10-23 10:22:30
The following examples update the record with in the «MyGuests» table:
try $conn = new PDO(«mysql:host=$servername;dbname=$dbname», $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = «UPDATE MyGuests SET lastname=’Doe’ WHERE // Prepare statement $stmt = $conn->prepare($sql);
// execute the query $stmt->execute();
// echo a message to say the UPDATE succeeded echo $stmt->rowCount() . » records UPDATED successfully»; > catch(PDOException $e) echo $sql . « » . $e->getMessage(); >
After the record is updated, the table will look like this:
Fetch and update the data from the MySQL database in PHP. This example demonstrates to you how you can easily fetch and update the data from the mysql database in PHP.
Here, we will show you simple and easy way on how to fetch and update data from mysql database in php.
How to Fetch and Update Data From Database in php
Connect to MySQL database
Fetch data from the database
Update data from database
1. Connect to MySQL database
In this step, you will create a file name db.php and update the below code into your file.
The below code is used to create a MySQL database connection in PHP. When we fetch, insert, update or delete data from MySQL database, there we will include this file:
2. Fetch data from the database
In this step, we will fetch the data from the MySQL database in PHP and display data in an HTML table. So you can create a new file and update the below code into your file.
The below code is used to retrieve or receive data from the MySQL database in PHP. Additionally, we will display the fetched data in an HTML table.
.bs-example
0) < ?>
Name
Email id
Mobile
Action
">Update
?>
else < echo "No result found"; >?>
3. Update data from database
In this step, we will update the data from the MySQL database using PHP . So you can create a new file and update the below code into your file.
The below code is used to update data from the MySQL database in PHP.
Please edit the input values and submit to update the record.
Conclusion
To fetch and update the data from the MySQL database in PHP. Here you have learned how to fetch and update data in MySQL table using PHP code.
This is a very basic and easy example of fetching and updating the data into a MySQL database using a PHP script. In the next tutorial, we will show you how you can delete records from MySQL database using PHP code.
UPDATE Таблица SET столбец1 = значение1, столбец2 = значение2. WHERE столбец = значение
В библиотеке pdo для обновления данных может применяться тот же метод exec() объекта PDO, который применяется при добавлении. Например, возьмем использованную в прошлых темах таблицу Users со следующим определением:
CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER)
Изменим в этой таблице поле age для строки, которая имеет id = 1 :
Результат метода $conn->exec() в данном случае количество обновленных строк.
Однако если данные на обновление приходят извне, то мы опять как и при добавлении сталкиваемся с потенциальной уязвимостью подобного подхода. Поэтому в этом случаае опять же лучше использовать параметризацию и prepared statements .
Отправка данных из формы и обновление
Сначала определим файл index.php , который будет выводить список пользователей:
Здесь используется команда SELECT, которая получает всех пользователей из таблицы Users. В таблице третий столбец хранит ссылку на скрипт update.php , который мы далее создадим и которому передается параметр id с идентификатором пользователя, которого надо изменить.
Теперь определим файл update.php для редактирования пользователей:
catch (PDOException $e) < die("Database error: " . $e->getMessage()); > ?> prepare($sql); $stmt->bindValue(":userid", $userid); // выполняем выражение и получаем пользователя по id $stmt->execute(); if($stmt->rowCount() > 0) < foreach ($stmt as $row) < $username = $row["name"]; $userage = $row["age"]; >echo "
Обновление пользователя
"; > else < echo "Пользователь не найден"; >> elseif (isset($_POST["id"]) && isset($_POST["name"]) && isset($_POST["age"])) < $sql = "UPDATE Users SET name = :username, age = :userage WHERE = $conn->prepare($sql); $stmt->bindValue(":userid", $_POST["id"]); $stmt->bindValue(":username", $_POST["name"]); $stmt->bindValue(":userage", $_POST["age"]); $stmt->execute(); header("Location: index.php"); > else < echo "Некорректные данные"; >?>
Весь код обновления структурно делится на две части. В первой части мы обрабатываем запрос Get. Когда пользователь нажимает на ссылку «Обновить» на странице index.php , то отправляется запрос GET, в котором передается id редактируемого пользователя. Поэтому мы сначала смотрим, представляет ли запрос GET-запрос и имеет ли он параметр id .
И если это запрос GET, то нам надо вывести данные редактируемого пользователя в поля формы. Для этого отправляем базе данных запрос
$sql = "SELECT * FROM Users WHERE = $conn->prepare($sql); $stmt->bindValue(":userid", $userid); $stmt->execute();
Далее получаем полученные данные и, если они имеются, выводим их в поля формы. Таким образом, пользователь увидит на форме данные редактируемого объекта.
Вторая часть скрипта представляет обработку POST-запроса — когда пользователь нажимает на кнопку на форме, то будет отправляться POST-запрос с отправленными данными. Мы получаем эти данные и отправляем базе данных команду UPDATE с этими данными, используя при этом параметризацию запроса:
$sql = "UPDATE Users SET name = :username, age = :userage WHERE = $conn->prepare($sql); $stmt->bindValue(":userid", $_POST["id"]); $stmt->bindValue(":username", $_POST["name"]); $stmt->bindValue(":userage", $_POST["age"]); $stmt->execute();
После выполнения запроса к БД перенаправляем пользователя на скрипт index.php с помощью функции
Таким образом, пользователь обращается к скрипту index.php , видит таблицу с данными и нажимает на ссылку «Обновить» в одной из строк.
После нажатия его перебрасывает на скрипт update.php , который выводит данные редактируемого объекта. Пользователь изменяет данные и нажимает на кнопку.
Данные в запросе POST отправляются этому же скрипту update.php , который сохраняет данные и перенаправляет пользователя обратно на index.php .