METANIT.COM

PHP MySQL UPDATE Query

In this tutorial you’ll learn how to update the records in a MySQL table using PHP.

Updating Database Table Data

The UPDATE statement is used to change or modify the existing records in a database table. This statement is typically used in conjugation with the WHERE clause to apply the changes to only those records that matches specific criteria.

The basic syntax of the UPDATE statement can be given with:

Let’s make a SQL query using the UPDATE statement and WHERE clause, after that we will execute this query through passing it to the PHP mysqli_query() function to update the tables records. Consider the following persons table inside the demo database:

+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | peterparker@mail.com | | 2 | John | Rambo | johnrambo@mail.com | | 3 | Clark | Kent | clarkkent@mail.com | | 4 | John | Carter | johncarter@mail.com | | 5 | Harry | Potter | harrypotter@mail.com | +----+------------+-----------+----------------------+

The PHP code in the following example will update the email address of a person in the persons table whose id is equal to 1.

Example

 // Attempt update query execution $sql = "UPDATE persons SET email='peterparker_new@mail.com' WHERE $sql)) < echo "Records were updated successfully."; >else < echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); >// Close connection mysqli_close($link); ?>
connect_error); > // Attempt update query execution $sql = "UPDATE persons SET email='peterparker_new@mail.com' WHERE === true) < echo "Records were updated successfully."; >else< echo "ERROR: Could not able to execute $sql. " . $mysqli->error; > // Close connection $mysqli->close(); ?>
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); > catch(PDOException $e)< die("ERROR: Could not connect. " . $e->getMessage()); > // Attempt update query execution try< $sql = "UPDATE persons SET email='peterparker_new@mail.com' WHERE $pdo->exec($sql); echo "Records were updated successfully."; > catch(PDOException $e)< die("ERROR: Could not able to execute $sql. " . $e->getMessage()); > // Close connection unset($pdo); ?>

After update the persons table will look something like this:

+----+------------+-----------+--------------------------+ | id | first_name | last_name | email | +----+------------+-----------+--------------------------+ | 1 | Peter | Parker | peterparker_new@mail.com | | 2 | John | Rambo | johnrambo@mail.com | | 3 | Clark | Kent | clarkkent@mail.com | | 4 | John | Carter | johncarter@mail.com | | 5 | Harry | Potter | harrypotter@mail.com | +----+------------+-----------+--------------------------+

Warning: The WHERE clause in the UPDATE statement specifies which record or records should be updated. If you omit the WHERE clause, all records will be updated.

Читайте также:  Xml to python code

Источник

PHP MySQL Update Data

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:

Example (MySQLi Object-oriented)

$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDB»;

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) die(«Connection failed: » . $conn->connect_error);
>

$sql = «UPDATE MyGuests SET lastname=’Doe’ WHERE ($conn->query($sql) === TRUE) echo «Record updated successfully»;
> else echo «Error updating record: » . $conn->error;
>

Example (MySQLi Procedural)

$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDB»;

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) die(«Connection failed: » . mysqli_connect_error());
>

$sql = «UPDATE MyGuests SET lastname=’Doe’ WHERE (mysqli_query($conn, $sql)) echo «Record updated successfully»;
> else echo «Error updating record: » . mysqli_error($conn);
>

Example (PDO)

$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDBPDO»;

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:

id firstname lastname email reg_date
1 John Doe john@example.com 2014-10-22 14:26:15
2 Mary Doe mary@example.com 2014-10-23 10:22:30

Источник

Update all data php

В MySQL для обновления применяется sql-команда UPDATE :

UPDATE Таблица SET столбец1 = значение1, столбец2 = значение2. WHERE столбец = значение

Для примера возьмем использованную в прошлых темах таблицу Users со следующим определением:

CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER)

Объектно-ориентированный стиль

Сначала определим файл index.php , который будет выводить список пользователей с ссылками на их обновление:

     

Список пользователей

connect_error)< die("Ошибка: " . $conn->connect_error); > $sql = "SELECT * FROM Users"; if($result = $conn->query($sql))< echo ""; foreach($result as $row)< echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
ИмяВозраст
" . $row["name"] . "" . $row["age"] . "Изменить
"; $result->free(); > else< echo "Ошибка: " . $conn->error; > $conn->close(); ?>

Здесь используется команда SELECT, которая получает всех пользователей из таблицы Users. В таблице третий столбец хранит ссылку на скрипт update.php, который мы далее создадим и которому передается параметр id с идентификатором пользователя, которого надо изменить.

Для обновления данных определим скрипт update.php :

connect_error)< die("Ошибка: " . $conn->connect_error); > ?>     real_escape_string($_GET["id"]); $sql = "SELECT * FROM Users WHERE "; if($result = $conn->query($sql))< if($result->num_rows > 0) < foreach($result as $row)< $username = $row["name"]; $userage = $row["age"]; >echo "

Обновление пользователя

Имя:

Возраст:

"; > else< echo "
Пользователь не найден
"; > $result->free(); > else< echo "Ошибка: " . $conn->error; > > elseif (isset($_POST["id"]) && isset($_POST["name"]) && isset($_POST["age"])) < $userid = $conn->real_escape_string($_POST["id"]); $username = $conn->real_escape_string($_POST["name"]); $userage = $conn->real_escape_string($_POST["age"]); $sql = "UPDATE Users SET name = '$username', age = '$userage' WHERE "; if($result = $conn->query($sql)) < header("Location: index.php"); >else< echo "Ошибка: " . $conn->error; > > else < echo "Некорректные данные"; >$conn->close(); ?>

Весь код обновления структурно делится на две части. В первой части мы обрабатываем запрос GET. Когда пользователь нажимает на ссылку «Обновить» на странице index.php , то отправляется запрос GET, в котором передается id редактируемого пользователя.

if($_SERVER["REQUEST_METHOD"] === "GET" && isset($_GET["id"]))

И если это запрос GET, то нам надо вывести данные редактируемого пользователя в поля формы. Для этого получаем из базы данных объект по переданному id

$userid = $conn->real_escape_string($_GET["id"]); $sql = "SELECT * FROM Users WHERE "; if($result = $conn->query($sql))

Далее получаем полученные данные и, если они имеются, выводим их в поля формы. Таким образом, пользователь увидит на форме данные обновляемого объекта.

Вторая часть скрипта представляет обработку POST-запроса - когда пользователь нажимает на кнопку на форме, то будет отправляться POST-запрос с отправленными данными. Мы получаем эти данные и отправляем базе данных команду UPDATE с этими данными, используя при этом параметризацию запроса:

$userid = $conn->real_escape_string($_POST["id"]); $username = $conn->real_escape_string($_POST["name"]); $userage = $conn->real_escape_string($_POST["age"]); $sql = "UPDATE Users SET name = '$username', age = '$userage' WHERE "; if($result = $conn->query($sql))

После выполнения запроса к БД перенаправляем пользователя на скрипт index.php с помощью функции

Таким образом, пользователь обращается к скрипту index.php , видит таблицу с данными и нажимает на ссылку "Обновить" в одной из строк.

Вывод данных из MySQL в PHP и pdo

После нажатия его перебрасывает на скрипт update.php , который выводит данные редактируемого объекта. Пользователь изменяет данные и нажимает на кнопку.

Редактирование данных из MySQL в PHP и pdo

Данные в запросе POST отправляются этому же скрипту update.php , который сохраняет данные и перенаправляет пользователя обратно на index.php .

Изменение данных из MySQL в PHP и pdo

Процедурный стиль

     

Список пользователей

$sql = "SELECT * FROM Users"; if($result = mysqli_query($conn, $sql))< echo ""; foreach($result as $row)< echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
ИмяВозраст
" . $row["name"] . "" . $row["age"] . "Изменить
"; mysqli_free_result($result); > else < echo "Ошибка: " . mysqli_error($conn); >mysqli_close($conn); ?>
 ?>      0) < foreach($result as $row)< $username = $row["name"]; $userage = $row["age"]; >echo "

Обновление пользователя

Имя:

Возраст:

"; > else< echo "
Пользователь не найден
"; > mysqli_free_result($result); > else < echo "Ошибка: " . mysqli_error($conn); >> elseif (isset($_POST["id"]) && isset($_POST["name"]) && isset($_POST["age"])) < $userid = mysqli_real_escape_string($conn, $_POST["id"]); $username = mysqli_real_escape_string($conn, $_POST["name"]); $userage = mysqli_real_escape_string($conn, $_POST["age"]); $sql = "UPDATE Users SET name = '$username', age = '$userage' WHERE "; if($result = mysqli_query($conn, $sql))< header("Location: index.php"); >else < echo "Ошибка: " . mysqli_error($conn); >> else < echo "Некорректные данные"; >mysqli_close($conn); ?>

Источник

How to Fetch and Update Data From Database in PHP

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.

0) < mysqli_query($conn,"UPDATE users set name='" . $_POST['name'] . "', mobile='" . $_POST['mobile'] . "' ,email='" . $_POST['email'] . "' WHERE . $_POST['id'] . "'"); $message = "Record Modified Successfully"; >$result = mysqli_query($conn,"SELECT * FROM users WHERE . $_GET['userid'] . "'"); $row= mysqli_fetch_array($result); ?>      .wrapper  

Please edit the input values and submit to update the record.

">
"/> Cancel

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.

Источник

Оцените статью