Php mysql поля update

How to Use PHP MySQL Update: A Cheat Sheet for Correct Syntax

By now, you know how to make a table and use various MySQL statements to insert, delete, and access your information. This time, we are going to present you with one more way to save time: instead of deleting a row and inserting a new one in your table, you can use PHP MySQL update to overwrite it.

In MySQL, overwriting requires knowledge on how to use a particular statement called Update. That is why we will keep this lesson rather short. You will be presented with an example to study and introduced to the correct PHP MySQL update syntax.

Contents

PHP MySQL Update: Main Tips

  • SQL includes the update statement, which updates existing records by overwriting them.
  • To specify which records we want to update, you can use where after select and update statements.
  • Easy to use with a learn-by-doing approach
  • Offers quality content
  • Gamified in-browser coding experience
  • The price matches the quality
  • Suitable for learners ranging from beginner to advanced
  • Free certificates of completion
  • Focused on data science skills
  • Flexible learning timetable
  • Simplistic design (no unnecessary information)
  • High-quality courses (even the free ones)
  • Variety of features
  • Nanodegree programs
  • Suitable for enterprises
  • Paid Certificates of completion

Syntax and Usage

For the statement to be executed properly, you should make sure you are using the correct update MySQL syntax:

UPDATE `table_name` SET `column_name` = `new_value’ [WHERE condition];

Look at the example below. Here we have a basic table, called Users. Let’s see the way to update table SQL suggests:

The examples below show multiple ways you can write a PHP update MySQL query using the select statement. Which one you should use depends on the type of connection you have chosen (MySQLi object-oriented, MySQLi procedural or PDO).

PHP MySQL update statement will take the row containing user_id with the value of 2, and update its username column value:

 $server = 'host'; $user = 'user'; $pass = 'pass'; $db = 'db'; // Create connection $conn = new mysqli($host, $user, $pass, $db); // Check connection if ($conn->connect_error) < die("Could not connect: " . $conn->connect_error); > $sql = "UPDATE users SET username='john.doe' WHERE user_id=2"; if ($conn->query($sql) === TRUE) < echo "Update successful."; > else < echo "Could not update: " . $conn->error; > $conn->close(); ?>
 $server = 'host'; $user = 'user'; $pass = 'pass'; $db = 'db'; // Create connection $conn = mysqli_connect($server, $user, $pass, $db); // Check connection if (!$conn) < die("Could not connect: " . mysqli_connect_error()); > $sql = "UPDATE users SET username='john.doe' WHERE user_id=2"; if (mysqli_query($conn, $sql)) < echo "Update successful."; > else < echo "Could not update: " . mysqli_error($conn); > mysqli_close($conn); ?>
 $server = 'host'; $user = 'user'; $pass = 'pass'; $db = 'db'; try < $conn = new PDO("mysql:host=$server;dbname=$db",$user, $pass); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "UPDATE users SET uesrname='john.doe' WHERE user_id=2"; // Prepare statement $stmt = $conn->prepare($sql); // execute the query $stmt->execute(); // echo a message to say the UPDATE succeeded echo $stmt->rowCount() . "Update successful"; > catch (PDOException $e) < echo $sql . "
"
. $e->getMessage(); > $conn = null; ?>

Once we’re done with the PHP MySQL update query, our table will look like this:

PHP MySQL Update: Summary

  • By using MySQL update statement, you can overwrite any records your data table holds.
  • where statement is used to specify the exact records you wish to update.

Источник

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

Источник

Обновление данных в базе данных MySQL

В этом уроке вы узнаете, как обновлять записи в таблице базы данных MySQL с помощью запросов SQL.

Обновление данных БД

При обновлении данных в таблице можно либо обновить определенные строки, либо обновить все строки в таблице. Эти задачи решаются с помощью оператора SQL UPDATE в сочетании с ключевыми словами SET и WHERE .

Базовый синтаксис оператора UPDATE может быть задан следующим образом:

Давайте создадим SQL-запрос, используя оператор UPDATE и условие WHERE , передав его функции PHP mysqli_query() для обновления записей таблиц. Рассмотрим следующую таблицу persons в базе данных demo:

Выбор данных из таблиц базы данных MySQL

Код PHP в следующем примере обновит адрес электронной почты человека в таблице persons, идентификатор которого равен 1:

Пример

 $sql = "UPDATE persons SET email='peterparker_new@mail.com' WHERE (mysqli_query($conn, $sql)) < echo "Запись успешно обновлена"; >else < echo "Ошибка обновления записи: " . mysqli_error($conn); >mysqli_close($conn); ?>
 $sql = "UPDATE persons SET email='peterparker_new@mail.com' WHERE ($conn->query($sql) === TRUE) < echo "Запись успешно обновлена"; >else < echo "Ошибка обновления записи: " . $conn->error; > $conn->close(); ?>
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "UPDATE persons SET email='peterparker_new@mail.com' WHERE // Подготовить заявление $stmt = $conn->prepare($sql); // выполнить запрос $stmt->execute(); // echo-сообщение, чтобы сказать, что ОБНОВЛЕНИЕ выполнено успешно echo $stmt->rowCount() . " записи ОБНОВЛЕНЫ успешно"; > catch(PDOException $e) < echo $sql . "
" . $e->getMessage(); > $conn = null; ?>

После обновления таблица лиц будет выглядеть так:

Выбор данных из таблиц базы данных MySQL

Примечание: Обратите внимание на условие WHERE в синтаксисе UPDATE: условие WHERE указывает, какую запись или записи следует обновить. Если вы опустите условие WHERE, все записи будут обновлены!

Источник

UPDATE. Редактирование записей в таблице базы данных MySQL

Часто возникает необходимость изменения информации, хранящейся в базе данных. С помощью команды UPDATE вы сможете обновлять данные одной или нескольких колонок в каждой записи таблицы.

Синтаксис запроса на обновление данных.

Для примера заполним таблицу books для хранения книг из условной базы данных Bookstore, которую мы создали в одном из предыдущех постов.

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

Посмотрим какие данные сейчас хранятся в колонках id, title, author, price, discount, amount таблицы books для первых 5 записей.

mysql> SELECT id, title, author, price, discount, amount FROM books LIMIT 5;
+—-+—————————+——————-+———+———-+———+
| id | title | author | price | discount | amount |
+—-+—————————+——————-+———+———-+———+
| 1 | Дубровский | Александр Пушкин | 230.00 | 0 | 4 |
| 2 | Нос | Николай Гоголь | 255.20 | 0 | 7 |
| 3 | Мастер и Маргарита | Михаил Булгаков | 240.50 | 0 | 10 |
| 4 | Мёртвые души | Николай Гоголь | 173.00 | 0 | 3 |
| 5 | Преступление и наказание | Фёдор Достоевский | 245.00 | 0 | 3 |
+—-+—————————+——————-+———+———-+———+
5 rows in set (0.00 sec)

Обновим цену, процент скидки и уменьшим количество на 2 для книги с идентификатором 3.

Теперь проверим как обновились данные.

mysql> UPDATE books
-> SET price=263.00, discount=10, amount=amount-2
-> WHERE id=3;
Query OK, 1 rows affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT id, title, author, price, discount, amount FROM books LIMIT 5;
+—-+—————————+——————-+———+———-+———+
| id | title | author | price | discount | amount |
+—-+—————————+——————-+———+———-+———+
| 1 | Дубровский | Александр Пушкин | 230.00 | 0 | 4 |
| 2 | Нос | Николай Гоголь | 255.20 | 0 | 7 |
| 3 | Мастер и Маргарита | Михаил Булгаков | 263.00 | 10 | 8 |
| 4 | Мёртвые души | Николай Гоголь | 173.00 | 0 | 3 |
| 5 | Преступление и наказание | Фёдор Достоевский | 245.00 | 0 | 3 |
+—-+—————————+——————-+———+———-+———+
5 rows in set (0.00 sec)

Обновление данных для нескольких записей в MySQL

Используя команду WHERE можно задавать сразу несколько записей для обновления данных.

Попробуем добавить скидку в 5% для всех книг под авторством Николая Гоголя, а также в название книги добавим слово «(Акция)».

Запрос на обновление данных, в этом случае, будет выглядеть так:

В запросе используется функция CONCAT() , которая прибавляет к текущему значению поля title строку «(Акция)».

В результате получим следующие изменения.

mysql> UPDATE books
-> SET discount=5, title=CONCAT(title, » (Акция)» )
-> WHERE author= «Николай Гоголь» ;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0

mysql> SELECT id, title, author, price, discount, amount FROM books LIMIT 5;
+—-+—————————+———————+———+———-+———+
| id | title | author | price | discount | amount |
+—-+—————————+———————+———+———-+———+
| 1 | Дубровский | Александр Пушкин | 230.00 | 0 | 4 |
| 2 | Нос (Акция) | Николай Гоголь | 255.20 | 5 | 7 |
| 3 | Мастер и Маргарита | Михаил Булгаков | 263.00 | 10 | 8 |
| 4 | Мёртвые души (Акция) | Николай Гоголь | 173.00 | 5 | 3 |
| 5 | Преступление и наказание | Фёдор Достоевский | 245.00 | 0 | 3 |
+———+—————————+———————+———+———-+———+
5 rows in set (0.00 sec)

Будьте предельно внимательны при обновлении данных в таблицах, так как если вы вдруг забудете задать условие обновления и не напишите команду WHERE , то указанное в запросе обновление будет применено ко всем строкам в таблице!

Пример того, что может получится если не указать команду WHERE .

В результате запроса выше получим одинаковую цену и название для всех книг в таблице.

mysql> UPDATE books SET price=103.90, title= «Барышня-крестьянка» ;
Query OK, 5 rows affected (0.00 sec)
Rows matched: 5 Changed: 5 Warnings: 0

mysql> SELECT id, title, author, price, discount FROM books LIMIT 5;
+—-+————————+———————+———+———-+
| id | title | author | price | discount |
+—-+————————+———————+———+———-+
| 1 | Барышня-крестьянка | Александр Пушкин | 103.90 | 0 |
| 2 | Барышня-крестьянка | Николай Гоголь | 103.90 | 5 |
| 3 | Барышня-крестьянка | Михаил Булгаков | 103.90 | 10 |
| 4 | Барышня-крестьянка | Николай Гоголь | 103.90 | 5 |
| 5 | Барышня-крестьянка | Фёдор Достоевский | 103.90 | 0 |
+—-+————————+———————+———+———-+
5 rows in set (0.00 sec)

Как обновить записи в таблице базы данных MySQL с помощью PHP (PDO)

Для обновления большого количества данных, гораздо удобнее будет воспользоваться HTML-формой, поля которой будут соответствовать полям таблицы из базы данных. Форму разместим в файле index.php .

Перед созданием формы мы обратимся к нашей таблице books и выведем данные, которые в ней хранятся, просто для того чтобы видеть, что содержит таблица и не редактировать ее вслепую.

Источник

Читайте также:  How to compare strings kotlin
Оцените статью